I've been doing a lot of reading lately and yet I am still stumped. In your own opinion, would you say that the best language to learn with is a scripting language or a curly brackets language?
People always say about how simple scripting languages are but at the same time I want to make sure I'm not making some shitty mistakes that'll bite me in the ass when it comes to creating more complex code. Int he same vein, I don't want to start way over my head and regret it later.
I'm not asking which language is best, just what language set I should choose from, whether you chose from that category to start learning or you wish you had.
Name:
Anonymous2010-06-28 11:21
I started with C++, without getting to deep into its "features."
I believe that was a great choice (though I didn't exactly "choose," I just found a game programming tutorial), because it taught me the basics of programming, but also the low-level stuff (manual memory management).
Name:
Anonymous2010-06-28 11:23
Start with PHP for a year then upgrade to Ruby.
Name:
Anonymous2010-06-28 11:29
"Start with PHP for a year then upgrade to Ruby."
I'm looking to build stand alone applications, so would that make learning PHP usless or is it useful simply as a simple language?
>>5
Considering I know a person who learnt PHP to begin with and now works for a big software producer...
Name:
Anonymous2010-06-28 11:36
I started with two courses running in parallel, assembley in one and C/C++ in the other. This gives you a pretty low-level approach to programming, but man, I think the real answer is "what do you eventually want to program?"
Name:
Anonymous2010-06-28 11:41
>>7
Stand alone programs possibly using system resources (so it would need low level access) but I want to make sure I learn with a language that doesn't lead me to terrible practices, like BASIC and it's spaghetti programming >.<
Name:
Anonymous2010-06-28 12:17
>>6
Yeah, big software producers have a lot of copy-pasting code monkeys. This isn't a good way of judging the language.
From what I saw of PHP, it's terribly inconsistent, and there are a lot of "helpful people" who write terrible code. I'll give you some examples if I'll find them in my database.
Learn C by reading K&R. Optionally learn some assembler if you want to even better understand how C works on moderm machines, and understand things how low-level programming works.
Read SICP to properly learn general-purpose programming and Scheme.
Learn ML to learn about staticly typed languages with type inference.
Learn Common Lisp to gain a valuable high-level multi-paradigm(meta, functional, imperative, declarative, ...) programming language with useful performance properties.
You should have enough knowledge to learn any other language you want now or just use the ones you now know, as they're already excellent for most programming tasks. You may also learn Java or C# or even C++, if you have to program for money, as some employers require you to code in them. Java/C# are just ENTERPRISE high-level languages with large libraries, but even if their libraries are large, the actual `language power' is lesser than what you get with the languages I presented before. I used the term `language power' to express the flexibility in what the language lets you do. C lets you be very low-level, and your data and execution models match tend to match well with what you would do in assembler, but still keep it portable across platforms. Lisps let you easily abstract and define new syntax as you see fit, while still keeping things simple and manageable.
Name:
Anonymous2010-06-28 19:37
1) Start with one or two of: Lua, Python, Scheme. Don't spend too long.
2) Move to: C. K&R.
3) Extend your C programming with the language(s) learned in the first step.
If you have done all three steps, then you will be able to do most whatever you want.
Name:
Anonymous2010-06-29 5:32
>>16
(Python|Lua) & C won't let you do anything you want. It should be Haskell, Scheme and C.
Name:
Anonymous2010-06-29 8:07
javascript. it's a scripting language and a curly bracket language, and it's more functional than lisp (unless you write a huge library implementing half of javascript in lisp).