LearningProgramming

ThoughtStorms Wiki

Some QuoraAnswers on Learning Programming

I know C and Java. How long it will take to learn C++?

Aug 4, 2015 https://www.quora.com//I-know-C-and-Java-How-long-it-will-take-to-learn-C++/answer/Phil-Jones-He-Him

I started learning C++ in 1991. I kind of knew C. I knew some Smalltalk. How hard could it be, I thought to myself.

It's 2015. I'm still not a particularly competent C++ programmer. Though I've written it, off and on over the years. I'm not particularly competent because I've never really sat down and USED it for anything particularly serious.

I've not struggled with the libraries. With the frameworks. With interfacing with the operating system at the level I need to.

I HAVE done those things in Python, in Java, in Perl and in Javascript. So I regard myself as better at those languages.

Basically time to learn a language isn\'t measured in hours or lessons. It\'s measured in "meaningful projects". If you do one meaningful projects you\'ll have a certain level of skill. If you do two you will have more. Three gives you more etc.

Which is better to learn, Clojure, Python or Ruby?

Mar 20, 2015 https://www.quora.com//Which-is-better-to-learn-Clojure-Python-or-Ruby/answer/Phil-Jones-He-Him

They are all excellent languages.

I've been passionate about Python since I discovered it around 2001. I'm becoming passionate about Clojure since starting with it last year. I've never been into Ruby, but I know that it's similar enough to Python and Smalltalk that it's likely to be OK.

Python and Clojure are both languages with a healthy future in front of them. I think it's certain that they will both be in the top 20 languages in use in the next 10 - 15 years. It's almost certain that Python will be in the top 10 for the next 10 years. And I'd give Clojure a good chance of making it to the top 10 too. (It may get squeezed out because there is now a LOT of legacy code to maintain in all the older languages.)

[EDITOR NOTE : I was wrong. Clojure is nowhere near top 10 yet (2021). Even if I think it deserves to be. That's partly maybe people are really resistant to Lisps. But partly because Kotlin has come along as the better JVM language that people were looking for. Also because Typescript is now the better Javascript people have embraced. I'd thought that ClojureScript would have been more prominent.]

I'd say Python and Clojure are fairly similar in terms of the language's conceptual difficulty. But Python is possibly easier in some other ways :

  • Python has no explicit compile phase, which makes it feel lighter
    - Clojure\'s error reporting is abysmal. Utterly horrible. And incomprehensible if you don\'t already know Java.
    - Python\'s tool-set is more accessible. I write Clojure in Emacs with Paredit, and I love it. But ... if you don\'t know or can\'t use Emacs, I\'m not sure it\'s so comfortable. I\'m not really familiar with the alternatives, but I imagine writing Lisp without the editor managing brackets is more painful.
    - One of Clojure\'s selling points is access to Java\'s libraries. One of Python\'s is its large "batteries included" standard library. Both are good for doing real work, but Clojure calling out to Java, is a little bit less straightforward than Python calling its own standard library.

Clojure wins over Python in the following areas :
- if you already know some procedural / OO style programming, Clojure is going to give you more NEW ideas than Python. Not that Python doesn't have some surprising tricks to delight you, but Clojure has the whole functional paradigm.
- Clojure's story for parallelism is very good. And the Java Virtual Machine can do proper parallelism. Python's story is less good and GIL makes real parallelism difficult.

No Backlinks