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

Pages: 1-

debate

Name: Anonymous 2011-12-21 16:34

What do you think is the best advice for new members just learning to program? Not as in "go for it", but as in what language they should learn.

I want to get a good answer for my blag blog "Introduction to Programming", which I'll continue writing soon.

Personally I think it's best for people to start out with a high level language. I don't think they should start with low level languages because they have a much higher entry barrier and they'll have to deal with things like segmentation faults and memory allocation which I think will just distract people from their actual goal.

I don't have any problem with C or C++ (well actually I do, but that's beyond the scope of this discussion) but I think it should be learned at a later stage, if at all. Learning them will certainly teach you a lot about your computer.

I don't think people should start with "web languages" either. In the sense of using PHP to generate HTML. Firstly, they require you to know how to write web pages. Writing decent web pages is a motherfucking pain with shit like browser differences. People shouldn't have to deal with that when they're learning to program.

I think Perl, Python, Scheme and Ruby are fine languages that are all very suitable for beginners.

So tell me, what do you think?

Name: Anonymous 2011-12-21 16:36

protip: programming is like autism, you get born with it, you can't just `into' /prog/
Also: Sepples is shit.

Name: Anonymous 2011-12-21 16:52

Python
One word.

Name: Anonymous 2011-12-21 16:53

To ignore >>2, to read SICP and learn Scheme, then learn assembly, implement a simple Forth in it, then go back to Scheme, learn some basic Haskell for an example of a good type system, and go back to Scheme.

Name: Anonymous 2011-12-21 16:53

Well, my approach was to learn everything the most autistic way possible but nowadays i've seen people progress a lot by starting with Java

Name: Anonymous 2011-12-21 16:54

Even if I use high-level languages for a wide range of my needs (mostly Common Lisp, but others apply too), I do think everyone should learn C and their favorite platform's assembly (along with whatever system internals and hardware-specific knowledge is needed). It's true that in theory, you can do most of the things you want using only a high-level programming language, but in practice, knowing what goes on at the lower levels can help you both fix unusual problems (or sometimes even more common ones) and gain a better understanding of how it all fits together (unless your job is inherently low-level, then there's no helping it). Maybe I'm a bit biased as C and x86 assembly were one of the first languages I learned.
My own prefered answer to your question: Scheme (possibly later also Common Lisp), C and some assembly.

Name: Anonymous 2011-12-21 18:00

Name: Anonymous 2011-12-21 18:09

New programmers should learn Scheme and functional programming. They ought to learn basic computer science subjects.

Name: Anonymous 2011-12-21 19:22

Name: Anonymous 2011-12-21 19:39

>>9
HERP DERP LETS MAKE EVERYONE LEARN ASM FIRST

Name: Anonymous 2011-12-21 20:24

SICP and C++, all you need

I'm not even sure if people are serious if they say they've programmed in Scheme/whatever. It's Computer Science, just pick the language which you can deal with and should run properly on the intended hardware.

Name: Anonymous 2011-12-21 20:37

>>11
>implying C++ isn't exploitable, bloated shit

Name: Anonymous 2011-12-21 21:15

>>10
Forced Indentation of Code (aka "off-side" rule) impedes using CLI, automatically generating Python code and moving around large code blocks. Editing Python code requires special editors (forget about Word/Notepad), that expand tabs into spaces, while sharing code through a web post or email will most likely break indentation. Absence of block-terminator is so utterly confusing, that you'll find youself ending blocks with #endif anyway. It's painful to deal with other things that need indenting, such as large SQL queries, or HTML when you're using things like mod_python.

Name: Anonymous 2011-12-21 21:40

>>13
I'm not arguing that Python is good, I'm arguing that the author of the article is retarded.

Name: Anonymous 2011-12-21 21:45

>>14
Whats wrong with assembly?

Name: Anonymous 2011-12-21 21:54

one idea is to learn two languages side by side, one for theory (eg scheme via SICP) and one for more practical purposes (eg javascript)

despite the horror of making webapps meaning you have to know html, css, javascript, browser quirks, etc, it is very satisfying to be able to make something tangible. with bare bones html and a little javascript you can have an interactive web thing that is usable on almost every computer/device.

another thing is that the webapp environment is very "real world". it's a system that sort of grew organically and is full of cruft, awful junk that only exists for historical reasons, and parts of javascript are huge mistakes.

i think it would be useful, as a starting programmer to experience dealing with that at the same time as something more "pure" like scheme.

Name: Anonymous 2011-12-21 22:01

>>16
parts of javascript are huge mistakes.
javascript is a single huge mistake, together with html and css.

Name: Anonymous 2011-12-21 23:54

>>10
HERP DERP LETS MAKE EVERYONE ENABLE JAVASCRIPT JUST TO LOAD A FUCKING BLOG WITH STATIC CONTENT

Name: Anonymous 2011-12-22 4:04

>>16
scheme is practical

Name: Anonymous 2011-12-22 4:32

>>17
No.

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