Why not Fortran?
If he has been to the future, he will understand my reasons.
Why not Fortran?
If he has been to the future, he will understand my reasons.
might as well go ASM
I program assembly for 90% of my code projects, anything else is cheating.
I was wondering what are the best avenues to learn to code (I have zero experience). I'm not sure which languages are important and which I should focus on but I'd like to have a broad range of skills which could cover design, apps, programming, databases, etc.
How exciting! This is a major project you are undertaking (hmm.. sounds a little self-congratulatory coming from a software engineer...
)
First of all, you might get the impression from some of the responses that your most important choice is what language to use. There is some truth to that in the sense that you want something that you can wrap your head around while learning, but by the time you have some experience under your belt, learning a language is not a big deal anymore. That may sound like bravado on my part, but it's not. Learning a new programming language paradigm is a big deal, so eventually you will want to hit them all. But when you're starting out, all you need is a path forward. Picking up specific domain-knowledge (eg, particular languages, frameworks) is important, but I would defer all of that for as long as possible while you are starting out. I strongly recommend writing the shortest possible programs you can as your programming skills grow.
For programming in the small, might I suggest http://projecteuler.net/ ? This is collection of mathematical programming problems. They start out easy and eventually get very, very hard. The first few dozen problems can typically done in just a few lines of code, which might be just the ticket for you. Another way would be to pick up ]The Little Schemer, a book I have great affection for. It works with a language you are unlikely to ever use again, but again, in my opinion it doesn't really matter.
As for those paradigms I mentioned, here are some I recommend getting acquainted with eventually. You'll notice that languages appear in more than one place.
Object-Oriented - java, ruby, c#, c++, smalltalk, scala, python
Functional - lisp, scheme, haskell, ML, F#, parts of python and scala
Dynamic/duck typed - ruby, smalltalk, lisp, scheme, python
Strongly typed - java, c#, c++
Very strongly typed Hindley–Milner type system/inference- scala, haskell, ML, F#
I would recommend scala fwiw.
This is an interesting recommendation - Scala is great - a truly modern-cross-paradigm-oop-functional-proper-type-system-terse language that runs on the JVM. Since it's so new, I wonder if there are any beginners who started with Scala. The only thing that would concern me for a beginner is that there is so much there there in the language that it might be a bit overwhelming. I would think a good book would be essential.
var MyThreads
For the time traveler: I recommend COBOL.
I agree, but you need cobol on cogs.
fwiw i think learning lisp/ruby/smalltalk/scala etc like learning badacey as your first poker game instead of learning holdem. its a good way to hate programming imo
This is an interesting recommendation - Scala is great - a truly modern-cross-paradigm-oop-functional-proper-type-system-terse language that runs on the JVM. Since it's so new, I wonder if there are any beginners who started with Scala. The only thing that would concern me for a beginner is that there is so much there there in the language that it might be a bit overwhelming. I would think a good book would be essential.
I'm glad you like my recommendation (as an aside propokertools is frikkin awesome btw). As someone who has programmed in pretty much every language on your list (well not ruby or smalltalk) and a few others, it's the one I'm recommending to anyone who asks this question these days, including other hacker buddies of mine who are fed up with writing c++ code all day and want a new challenge. The main reason is that it's just not that hard to actually write real programs that actually get some real shit done and of course you can use java libraries which means there is a huge bunch of tedious nonsense you don't have to go near because someone else will have done the work for you. And multithreading is easy to get your head around in scala as opposed to a complete clusterfuck nightmare like most languages.
I'm glad you like my recommendation
I definitely like it for an experienced programmer. I am unsure what the experience would be like for a beginner.
Why not Fortran?
something like the treehouse perhaps?
or is web development not your goal?
thanks for the feedback guys, but lets be honest. i already knew you were going to say that.
now stay focused!
a truly modern-cross-paradigm-oop-functional-proper-type-system-terse language that runs on the JVM.
That shit is for noobs.
I agree, but you need cobol on cogs.
Amazing.
I agree, but you need cobol on cogs.
This is actually what the US govt system looks like. I'm not joking.
Home → Poker Forums → General Poker Discussion → Learn to Code?