Concering your quote "my interest in programming is not limited to data science/ML...I am potentially interested in building apps": my repository https://github.com/kloimhardt/bb-web has a set of examples, starting with a 10 line html file (directly containing Clojure code to be edited, no compiler needed) up to a quite sophisticated web-app example. Could not be farther away from Datascience/ML though. It just tries to lower Clojure's entry bar for the curious.
Baye schrieb am Dienstag, 29. September 2020 um 15:23:01 UTC+2: > Thank you for your insight! > > On Tuesday, September 29, 2020 at 1:46:22 AM UTC+3 Nando Breiter wrote: > >> 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/bdd6e1a6-ff9a-40b5-a024-9b25a3367f68n%40googlegroups.com.