News for hackers. Stuff that matters.
Re:The Most Powerful JVM Language Available by tomp on Wednesday July 06, 2011 @04:11PM (#2735644)
> 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++.

Re:The Most Powerful JVM Language Available by daeken on Wednesday July 06, 2011 @04:33PM (#2735752)
You'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.
Re:The Most Powerful JVM Language Available by Jach on Wednesday July 06, 2011 @09:41PM (#2736782)
It'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.
Re:The Most Powerful JVM Language Available by markokocic on Wednesday July 06, 2011 @04:34PM (#2735764)
Why 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.

Re:The Most Powerful JVM Language Available by wccrawford on Wednesday July 06, 2011 @04:58PM (#2735860)
I 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.

Re:The Most Powerful JVM Language Available by tomp on Wednesday July 06, 2011 @05:27PM (#2735959)
They'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.

Re:The Most Powerful JVM Language Available by scott_s on Wednesday July 06, 2011 @07:13PM (#2736387)
If 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.
Re:The Most Powerful JVM Language Available by scythe on Wednesday July 06, 2011 @04:22PM (#2735691)
>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.

Re:The Most Powerful JVM Language Available by poelie on Wednesday July 06, 2011 @05:04PM (#2735880)
Learning 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.

Re:The Most Powerful JVM Language Available by yzhengyu on Wednesday July 06, 2011 @06:30PM (#2736247)
The 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. :)

Re:The Most Powerful JVM Language Available by poelie on Thursday July 07, 2011 @06:04AM (#2737918)
I 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.

Re:The Most Powerful JVM Language Available by fferen on Wednesday July 06, 2011 @06:59PM (#2736345)
MIT 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.
Re:The Most Powerful JVM Language Available by ohyes on Wednesday July 06, 2011 @06:28PM (#2736241)
I find programming in C++ harder than other languages. (Clojure, Common Lisp, Python, Ruby, Erlang, Haskell).
Re:The Most Powerful JVM Language Available by rimmjob on Wednesday July 06, 2011 @09:03PM (#2736698)
Is it really harder or a just a pain in the ass?
Re:The Most Powerful JVM Language Available by ohyes on Wednesday July 06, 2011 @11:38PM (#2737038)
In 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.