Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Does it really matter?

Name: Anonymous 2013-10-31 20:34

I want to start learning how to program (just as a hobby... not for video games, not for a job), and people will always argue about what's the best programming language, or what's the best beginner language. But as long as I follow through with the learning, does it really even matter? So what if I don't pick the perfect choice for a first language? I can always learn others, right? Why do people argue so much about language superiority? As long as the end results are satisfactory, does it really matter how you got there?

Name: Anonymous 2013-10-31 22:36

No, it doesn't matter.
Well, unless you do something stupid like learning Haskell of Prolog as your first language; that may very well screw you over because they're nothing like the languages that are used in the real world.

As far as I can tell people argue about language superiority because they only have experience with a small handful.
For instance you might learn Java at school, but then you dedicate your weekends to learning Lisp at home; you become so proud of yourself because until now you've never self taught a language that you feel the need to brag about how great Lisp is and how only the best programmers can use it.

Kinda like operating systems and Gentoo ;^)

Name: Anonymous 2013-11-01 6:14

Not really, because most concepts are the same in all languages, but there are some things you might want to avoid though.

It depends on what you want to do imo.
Languages can be divided into several categories, and you might want to pick something that suits you best depending on your goals.

You might want to go for a free or open sourced language for example. In most cases this means the tools and supporting ecosystem will also be free.

Languages like Ruby, Python, Javascript and Java, (somewhat, not really FOSS but the tools like Eclipse are free) come to mind.

If you want to go static languages, C# (.NET) is a good choice. The same with Java. For .NET the express Visual Studio editions are very good tools for beginners & hobbyists. The pro versions are expensive though.

If you want to go dynamic, Ruby, Javascript (node.js) and Python are good choices.

I think Javascript isn't a bad choice because it's so prodominant on the web. You can use it in web pages, and with Node you can also use it at the server side.

JS is a bit quirky though as a language, but that's the only thing that would hold me back from teaching it to a beginner.

Name: Anonymous 2013-11-01 8:13

install python

Name: Anonymous 2013-11-01 11:38

It is important because languages emphasizes different concepts and force you to focus on them a beginner. They also vary in their amounts of bullshit, bad practices, and ease of building things.

After long deliberation I have come to the conclusion that MIT is doing it right after all at the moment, and Python is a rather good language for beginners in that it is both highly practical and lacks "magical and unnecessary cruft and horrible BS" à la Java. And while Haskell is rightfully highly praised as an example of how things should be done in the world of programming, I consider it the perfect *second language* to learn, but not the first. Using it as the first language a beginner might fight it discouraging, having to understand certain concepts before being able to build something practical. At the same time, lacking experience with another language they won't be able to appreciate its power, beauty, and correctness.

Name: Anonymous 2013-11-01 15:19

If you are a dumbass then learn PHP, Ruby, JavaScript, or Python.
Otherwise learn all the above & C, C++, C#, Haskell, Lisp.

Name: Anonymous 2013-11-01 20:03

install gentoo

Name: Anonymous 2013-11-01 20:19

>>5
lacks "magical and unnecessary cruft and horrible BS"
One word, the forced indentation of code.

Name: Anonymous 2013-11-01 21:03

>>8
Nope, you can use curly braces and semicolons in Haskell. But no one does because that's ugly.

Name: Anonymous 2013-11-02 1:17

>>6
>le pedophile sage

Name: Anonymous 2013-11-02 6:56

>>6

There's nothing wrong with JS, Ruby or Python. PHP is another matter. That language is pretty much broken, yet still very popular, but I wouldn't want to touch it with a 10 foot pole. :)

I wouldn't bother with C or C++ to begin with. Too low level, unless you're interested in doing hardware interfacing, and even for that there are high level libraries available for most high level languages.

I see Haskell pop up in here a lot too, which is surprising. Haskell, Lisp (old stuff btw), Erlang, F#, Scala etc are all FUNCTIONAL languages.

This is a completely different paradigm from languages like Java, C#, C, C++, Python, JavaScript, Ruby, Pascal etc, which are OBJECT ORIENTED programming languages.

To start with I would definitely pick an OOP language over a functional one.

Learning a functional one as a second (or third) language would be a good choice however, as it tackles problems from a different side which teach you techniques you can also use in your trusty OOP language as well.

I would also go for something practical, meaning, a language you can actually write a full application with.
Functional languages usually don't allow this, unless you only want to write console applications.
If you want to write something with an actual form based UI or a web frontend, you're going to need something OOPish.


Something like Ruby on Rails, Node.js, Python + Django or C# are a good fit for this IMO.

Name: Anonymous 2013-11-02 7:17

install gentoo

Name: Anonymous 2013-11-02 19:19

>>11
Functional languages are general programming languages allowing you to write any kind of application just as well, it's not any more difficult either, it just requires a little more understanding of what you're actually doing.

Name: Anonymous 2013-11-02 20:30

>>11
languages like ... C ... which are OBJECT ORIENTED
What is this I don't even?

Name: Anonymous 2013-11-03 6:18

>>13

I know that for example F# for .NET doesn't make working with a UI impossible, but it's a lot easier to use plain C# to do that however.
Functional languages are often used for the more computational heavy bits of code, but it indeed doesn't exclude any other type of code.

>> 14

Yeah, true. C shouldn't be in that list. That's plain procedural. My bad.

Name: Anonymous 2013-11-04 9:01

>>14
>le pedophile sage

Name: Anonymous 2013-11-04 10:15

>>14
Didn't you know that C58 supports MESSAGE PASSING?

Don't change these.
Name: Email:
Entire Thread Thread List