10 ms·
The Most Powerful JVM Language Available
- pdhborges 15y agoThe contents of this article are (almost) a bunch of quotes from a bunch of different authors.
- jshen 15y agotrue, but they are worth a read and some of them I hadn't seen before.
- tomp 15y ago> it would make sense to learn both Scala and Clojure Stop dreaming... unless you're a true programmer at heart (or mind, really), there's no way you can learn new languages just like that. My schoolmates, very smart people, have huge problems even learning C++ (without most of pointers, but with inheritance, virtual classes and such), although they all know Matlab and possibly other languages. Thinking in programming languages is hard, even though it may not seem so to those proficient in many languages. Each new language, Scala and Clojure/Lisp especially, have their own "weird" features and are quite far away from Java/C++.
- scythe 15y ago>unless you're a true programmer at heart (or mind, really), there's no way you can learn new languages just like that. Becoming a "true programmer" isn't something that you're like born with; it's not like there has ever been a Paul Erdos[1] of programming coming up with novel GC schemes at the tender age of three -- it's a result of the combination of a sincere interest in the process of coding and the pursuit thereof, and the former can and usually does follow from the latter, as long as you are careful to try to move no faster than is natural for yourself and have the patience to continue at such a pace, and if you're like me and you constantly need external stimulation you should find some, but in any case it certainly isn't magic. [1] -- Erdos, quite famously, could calculate the number of seconds a person had been alive when he was three.
- daeken 15y agoYou've got cause and effect backwards. People that pick these languages up don't start off as "true programmers", they become "true programmers" because they pick up languages like this.
- Jach 15y agoIt's actually a slight feedback loop, though I agree it's probably biased toward the end of people who learn more becoming better. With the existence of FizzBuzz and similar results along with the existence of people who literally have no problem with Haskell, it's safe to say there are some genetic variables involved with programming and math and so on.
- markokocic 15y agoWhy would it be problem to learn both Scala and Clojure. Your friends that struggle with C++ are just begginers, they'll learn over time. If one is really a programmer, it's not the language he has to learn, it's concept that can be easily applied to different languages. And the chance is that those concepts are not that distinct or unique, and that you already know some of them. Functional programming, STM, macros, ... nothing new, just 20+ years old repackaged concepts in a new wrapper package (language) and a new API. That being said, go learn either Scala or Clojure. After that, learning the other one will be much easier.
- wccrawford 15y agoI totally agree. While I am a 'true programmer' (it's my job, my hobby, and my love since 4th grade) as soon as Clojure and Scala became popular, I knew I'd end up learning them one day. And when I have a -use- for a language, I learn it on the spot. Learning the basics is stupidly easy once you know 3-4 languages, and learning the quirks comes with time for any language.
- tomp 15y agoThey'll learn, but what... They will work in banks, write code using their proprietary frameworks, and be forced to comply with strict coding guidelines, never experimenting, testing the limits of the code, etc... They might even hate coding. True, I can't really speak from experience, as I've learnt to code by myself, from a young age, I wasn't forced or urged to do it, so I have no idea what happens with people that have to learn to program as part of their education/job. However, the professor that was teaching us, who has apparently worked in the industry as well, seemed... limited - mentally - thinking inside the box. That, or he was a very good teacher, taking it very slowly, and boring the hell out of me.
- scott_s 15y agoIf you know how to do X, and you are in a class where the teacher is teaching how to do X, you will become frustrated and bored.
- poelie 15y agoLearning new languages will become easier over time. Lots of concepts are shared by many languages. Only paradigm shifts are really difficult. From imperative to functional. From functional to reactive etc. But these are also the more worthwhile experiences, because they broaden your possibilities as programmer.
- yzhengyu 15y agoThe leap from imperative to functional becomes apparent when you stop thinking of your problem or system in terms of the data it processes, but it terms of the functions it has. Yes, I belong to the school which believes everyone should have learnt Lisp/Scheme in school in that introductory module to CS, ala, the MIT belief. :)
- fferen 15y agoMIT uses Python now, but I agree with you. Reading through just the first 1.5 chapters of SICP was enlightening and completely changed how I write and think about code in my main language, Python.
- poelie 15y agoI am a physicist from origin, so I haven't had a lot of specialized classes. I always used imperative languages. In physics c++ and c are leading. Two years ago I found Haskell. It was difficult to learn, until I realized in Haskell you are just doing mathematics. In functional languages a function is a mathematical function. You can actually reason about code and even prove your code. This is extremely cool (from my point of view). I purchased some books on lambda calculus, logic, category theory and did the SICP thing. Now functional programming feels more natural to me. I used it as day to day tool.
- ohyes 15y agoI find programming in C++ harder than other languages. (Clojure, Common Lisp, Python, Ruby, Erlang, Haskell).
- rimmjob 15y agoIs it really harder or a just a pain in the ass?
- ohyes 15y agoIn terms of programming language difficulty, 'hard' and PITA are the same thing. The real 'difficulty' in programming comes from learning the domain that you are working in well enough to express it to the idiot computer. That said, I find expressing myself easier in languages that are less of a PITA.
- bhickey 15y agoWhy is this page making my CPU thrash?
- carsongross 15y agoAnd, if you are an Aristotelian rather than a Platonist, you may instead be interested in Gosu (http://gosu-lang.org http://gosu-lang.org): a party school language for a party school world.
- pnathan 15y agoI don't understand the Aristotelian vs. Platonist reference. Could you digress?
- jamesgeck0 15y agoThe article quotes PG's Plato's Cave cave analogy about the power of Lisp. I think carsongross' "party school" is referencing Lyceum[1], the recreation/athletics school Aristotle was associated with. 1. http://en.wikipedia.org/wiki/Lyceum_(Classical) http://en.wikipedia.org/wiki/Lyceum_(Classical)
- carsongross 15y agoLisp (and lisps) appeals to Platonists (as you can see in this article): they are minimal and pure. Gosu is not pure nor particularly minimal: it's rooted in the historical experience of Java software development, for better and for worse. As such, it is more of an Aristotelean language: practical, derived from experience and not particularly concerned with unification. I enjoy both languages, but I'm an Aristotle guy.
- r00fus 15y agoDoes anyone besides Guidewire use Gosu?
- coryfoo 15y agoUnfortunately, not many -- yet. But we've got lots of customers who aren't going anywhere for a long time. I think prostitution is the only other industry that isn't really affected by depressions and the like. You should really check it out, it's a sexy language. If you know java you'll feel right at home. I've been using it for almost five years and really love it. To me, the syntactic sugar they throw in for common little things are what really make it so nice. It's not overly verbose, enhancements on types can be amazingly powerful if you have no control over over an API, and the ability to use and pass blocks (similar to closures) are something that I hate being without when I am forced to go play in java-land.
- d0m 15y agotl&dr ?