Thanks Nando Breiter, this site https://practicalli.github.io/ is a good start to the clojure
Em segunda-feira, 28 de setembro de 2020 às 19:46:22 UTC-3, Nando Breiter escreveu: > As someone who has known about Clojure for a long time but only recently > started programming in it, Clojure seems particularly easier to learn by > building something with it, as opposed to reading about it. Perhaps this is > because the language, ecosystem, and indeed the general approach to > programming in Clojure is made of small building blocks. > > My analogy - Clojure seems to be more like a set of legos, whereas OO > languages seem to be more like a train set. > > The flexibility of legos might seem complex if you are looking for a top > down *how-to* narrative, but fundamentally, you don't need much > instruction to start sticking them together. The simplicity of working with > legos remains. Any kid can do it. > > The photo on the train set box more immediately shows you how the whole > thing goes together, so the train set might seem more simple at first. Yes, > you need to read the instructions and follow them precisely, but that's > sort of ok. The complexity comes later, when the tracks supplied in the > train set, and maybe the train itself, *get in your way*. > > So I'd suggest reading a book to understand the fundamentals if you > haven't already, Clojure for the Brave and True or Carin Meier's book > Living Clojure are both good, and then as soon as possible start sticking > functions together like those lego blocks to build something. From one > perspective, that's more complex because you don't have the train set laid > out for you, but from another, it's more simple, because composing > functions together is always simply composing functions together. > > I've found Practicalli https://practicalli.github.io/ to be a very > helpful springboard to get through the initial steps needed to get > something to work, and have been really happy to be able to work with > Datomic Cloud using the recently released dev-local version, with allows > for local storage. > > > > > On Mon, Sep 28, 2020 at 10:32 PM Baye <sows...@gmail.com> wrote: > >> Great, Thanks! >> >> On Monday, September 28, 2020 at 11:23:49 PM UTC+3 ch...@techascent.com >> wrote: >> >>> Oh, well then I don't see what you are waiting for :-). >>> >>> Here are some interesting and more stats-focused libraries that may be >>> interesting to you - >>> >>> * kixi stats <https://github.com/MastodonC/kixi.stats> - Clojury >>> statistics - written by Henry Gardner, the author of the aforementioned >>> Clojure >>> For Data Science >>> <https://www.amazon.com/Clojure-Data-Science-Henry-Garner/dp/1784397180> >>> * fastmath <https://github.com/generateme/fastmath#statistics> - >>> Carefully chosen and curated fast JVM mathematical primitives >>> * clojisr <https://github.com/scicloj/clojisr> - R <-> Clojure bridge >>> * Anglican <https://probprog.github.io/anglican/index.html> - a >>> probabilistic programming language >>> * Bayadera <https://github.com/uncomplicate/bayadera> - MKL, GPU >>> enhanced probabilistic programming system. >>> >>> Enjoy :-) >>> >>> On Mon, Sep 28, 2020 at 11:57 AM Baye <sows...@gmail.com> wrote: >>> >>>> Hi Chris, Thanks! I will check out the mentioned resources. >>>> Just to be clear, the only language I know well is Stata. I am still a >>>> very new to python, so I don't have any baggage to take with me as I have >>>> not invested enough time. >>>> Given I am philosophically convinced of the long term benefits of >>>> Clojure from talks, my only apprehension was whether I will be able to do >>>> most things in Clojure as in Python. But my interest, in programming is >>>> not >>>> limited to data science/ML...I am potentially interested in building apps >>>> (web/desktop, etc) for potential future projects in education, health etc.. >>>> On Monday, September 28, 2020 at 8:39:06 PM UTC+3 ch...@techascent.com >>>> wrote: >>>> >>>>> There are hybrid options available in the form of >>>>> https://github.com/clj-python/libpython-clj -- I am one of the >>>>> primary authors of this tool. >>>>> >>>>> One pathway perhaps is to use clojure to do your scraping and >>>>> orchestration (and frontend display) and just use python from command >>>>> line >>>>> scripts to do some ml. >>>>> >>>>> For Clojure and data science there is SciCloj: >>>>> https://scicloj.github.io/ >>>>> >>>>> My opinion is that learning Clojure independent of data science is a >>>>> worthy and substantial task - functional programming, the JVM, Java, >>>>> Clojurescript, Reagent are all pretty big subjects. libpython-clj has a >>>>> new-to-clojure >>>>> <https://github.com/clj-python/libpython-clj/blob/master/docs/new-to-clojure.md> >>>>> >>>>> page that lists some resources for helping with this. >>>>> >>>>> Happy to help more and really happy to see new people. I think Gary's >>>>> response is spot on and just wanted to elaborate that we have tools that >>>>> are specifically designed for helping people transition from Python to >>>>> Clojure without needing to walk away from their Python knowledge base. >>>>> >>>>> Chris >>>>> >>>>> On Mon, Sep 28, 2020 at 11:08 AM Baye <sows...@gmail.com> wrote: >>>>> >>>>>> Got it. Thanks again for your time! >>>>>> >>>>>> On Monday, September 28, 2020 at 8:05:32 PM UTC+3 Gary Trakhman wrote: >>>>>> >>>>>>> Not only the language and the techniques you intend to apply, but >>>>>>> the larger language and library ecosystem. For most people, Clojure is >>>>>>> best used when you >>>>>>> have familiarity with the JVM and existing java core libraries and >>>>>>> 3rd-party libraries, and some IDE/editor environment with enough >>>>>>> features >>>>>>> to be productive, but >>>>>>> those are extra things to learn. Something like Scheme/Racket used >>>>>>> for SICP is a great teaching language because all those decisions are >>>>>>> made >>>>>>> for you and >>>>>>> you can focus on the abstract content in the book instead of getting >>>>>>> bogged down in tooling. >>>>>>> >>>>>>> As for data-science/ML, it has good tools, it's just not the most >>>>>>> widely used language by data scientists. >>>>>>> Check out Clojure for data science: >>>>>>> https://www.amazon.com/Clojure-Data-Science-Henry-Garner/dp/1784397180 >>>>>>> >>>>>>> For the most part, I'd expect production-scale data science tools to >>>>>>> wrap java ones with a better/clojurey interface. >>>>>>> There's some other tools I'm not familiar with, eg >>>>>>> https://github.com/originrose/cortex, but there are definitely >>>>>>> people doing data science in clojure. >>>>>>> >>>>>>> On Mon, Sep 28, 2020 at 12:55 PM Soule S <sows...@gmail.com> wrote: >>>>>>> >>>>>>>> Thank you for your insight. By " learning more than one thing at a >>>>>>>> time", do you mean data science/ML and the language itself? If so, >>>>>>>> then I >>>>>>>> want to clarify, I have a solid foundation in data science; I am >>>>>>>> trained in >>>>>>>> the most advanced topics in econometrics (Statistics). My apprehension >>>>>>>> is >>>>>>>> mainly whether closure has good tools to do those. I know Python does. >>>>>>>> >>>>>>>> Thanks again >>>>>>>> >>>>>>>> On Mon, Sep 28, 2020 at 7:40 PM Gary Trakhman <gary.t...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Clojure is a fine language to learn on, but there are going to be >>>>>>>>> some complex details along the way. I think there are 2 approaches >>>>>>>>> to entry into programming that you might consider. >>>>>>>>> >>>>>>>>> You can start with the basic fundamentals of computation and work >>>>>>>>> up into software engineering. For that, clojure is >>>>>>>>> very similar to a teaching language, 'scheme', and people can work >>>>>>>>> through books like SICP: >>>>>>>>> https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html >>>>>>>>> >>>>>>>>> with it. >>>>>>>>> If you follow that strategy, you'll eventually have a good >>>>>>>>> foundation of understanding to build on, but it might not feel very >>>>>>>>> useful >>>>>>>>> in the first year. >>>>>>>>> >>>>>>>>> Another strategy is to hack up small demos of individual >>>>>>>>> techniques, like numerical methodologies or data visualizations. >>>>>>>>> This >>>>>>>>> would go more >>>>>>>>> along the data-science/ML track. While it can be done in clojure >>>>>>>>> and there are books on the topic, you might have an easier time in >>>>>>>>> python >>>>>>>>> if you're going down that path. >>>>>>>>> >>>>>>>>> I would say if you start with clojure, you're going to be learning >>>>>>>>> more than one thing at a time and the learning curve is steeper. >>>>>>>>> Whether >>>>>>>>> that's worth the cost depends on your goals and market conditions. >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, Sep 28, 2020 at 12:13 PM Baye <sows...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> I am new to programming. I have started to learn C++ and even >>>>>>>>>> some python >>>>>>>>>> My background is Economics. I have strong quantitative background >>>>>>>>>> (Math and Econ) and I know STATA. >>>>>>>>>> >>>>>>>>>> In general, I would like to use programming >>>>>>>>>> (1) for ML/AI in economics topics+other utilities such as >>>>>>>>>> webcraping, and other data driven analyses >>>>>>>>>> (2) for it, fintech matchmaking platforms >>>>>>>>>> >>>>>>>>>> In particular, I just recently discovered I love programming. I >>>>>>>>>> am old (35) as a beginner but I have set a goal to become a fully >>>>>>>>>> capable >>>>>>>>>> programmer by 40...Hopefully I can learn 2 languages well enough by >>>>>>>>>> then. >>>>>>>>>> >>>>>>>>>> If jobs opportunities are present then, I can switch careers >>>>>>>>>> although I still like my career path. I could always use my >>>>>>>>>> programming >>>>>>>>>> skills for either my job, a start up, or become a full fledge >>>>>>>>>> prgrammer. >>>>>>>>>> >>>>>>>>>> Online research has led me to think that Clojure might be an >>>>>>>>>> excellent language to focus on because they say it is an excellent >>>>>>>>>> for >>>>>>>>>> rapid development (If I want to use it for a start up, lone >>>>>>>>>> developer), >>>>>>>>>> data-driven (econ and ML), and provide a path to be a great >>>>>>>>>> programmer. >>>>>>>>>> >>>>>>>>>> My Apprehension is that Clojure doesn't seem widely used so might >>>>>>>>>> issues with doing ML projects with few libraries (compare to Python >>>>>>>>>> for >>>>>>>>>> ex), and future job prospects, etc... >>>>>>>>>> >>>>>>>>>> Anyway, I welcome any insights/advice, tips. >>>>>>>>>> >>>>>>>>>> Thanks in advance, >>>>>>>>>> Baye >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>>> Groups "Clojure" group. >>>>>>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>>>>>> Note that posts from new members are moderated - please be >>>>>>>>>> patient with your first post. >>>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>>> clojure+u...@googlegroups.com >>>>>>>>>> For more options, visit this group at >>>>>>>>>> http://groups.google.com/group/clojure?hl=en >>>>>>>>>> --- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "Clojure" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to clojure+u...@googlegroups.com. >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/d/msgid/clojure/10bd1d68-78f9-472b-8de3-5be96f6804a7n%40googlegroups.com >>>>>>>>>> >>>>>>>>>> <https://groups.google.com/d/msgid/clojure/10bd1d68-78f9-472b-8de3-5be96f6804a7n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "Clojure" group. >>>>>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>>>>> Note that posts from new members are moderated - please be patient >>>>>>>>> with your first post. >>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>> clojure+u...@googlegroups.com >>>>>>>>> For more options, visit this group at >>>>>>>>> http://groups.google.com/group/clojure?hl=en >>>>>>>>> --- >>>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>>> the Google Groups "Clojure" group. >>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>> https://groups.google.com/d/topic/clojure/dbYOgLKDGv4/unsubscribe. >>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>> to clojure+u...@googlegroups.com. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/clojure/CAJvqBXgPpyPvDdjRNzbL-%2Bqjj-CFxYg%3D0ypSX5--iqFemH%3D-7w%40mail.gmail.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/d/msgid/clojure/CAJvqBXgPpyPvDdjRNzbL-%2Bqjj-CFxYg%3D0ypSX5--iqFemH%3D-7w%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Clojure" group. >>>>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>>>> Note that posts from new members are moderated - please be patient >>>>>>>> with your first post. >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> clojure+u...@googlegroups.com >>>>>>>> For more options, visit this group at >>>>>>>> http://groups.google.com/group/clojure?hl=en >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Clojure" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to clojure+u...@googlegroups.com. >>>>>>>> >>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/d/msgid/clojure/CAKbuZvmqikY7DByRagFvOEKd5P74XCQnEP%2B2C9uDYULPS3CMZQ%40mail.gmail.com >>>>>>>> >>>>>>>> <https://groups.google.com/d/msgid/clojure/CAKbuZvmqikY7DByRagFvOEKd5P74XCQnEP%2B2C9uDYULPS3CMZQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Clojure" group. >>>>>> To post to this group, send email to clo...@googlegroups.com >>>>>> Note that posts from new members are moderated - please be patient >>>>>> with your first post. >>>>>> To unsubscribe from this group, send email to >>>>>> clojure+u...@googlegroups.com >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/clojure?hl=en >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Clojure" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to clojure+u...@googlegroups.com. >>>>>> >>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/clojure/207f4333-27c7-41e8-b807-d03a4ff8d2edn%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/clojure/207f4333-27c7-41e8-b807-d03a4ff8d2edn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clo...@googlegroups.com >>>> Note that posts from new members are moderated - please be patient with >>>> your first post. >>>> To unsubscribe from this group, send email to >>>> clojure+u...@googlegroups.com >>>> For more options, visit this group at >>>> http://groups.google.com/group/clojure?hl=en >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to clojure+u...@googlegroups.com. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/clojure/82141286-5368-4c68-b330-7514801897a4n%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/clojure/82141286-5368-4c68-b330-7514801897a4n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/clojure/8815f275-1bd5-4c05-9d96-cb236a108bf5n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/clojure/8815f275-1bd5-4c05-9d96-cb236a108bf5n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/b1cd10e5-9df0-40b9-8cb6-04cec2073a15n%40googlegroups.com.