I am thinking about a software bachelor next year, but want to learn some fundamental programming before I start.
What made you start programming? Where or how did you learn to do so?
I know the internet is packed with great tutorials, but I am no good at following them. It doesn't make much sense for me to just read and learn about syntax, I rather want to learn through a real project, something like Udacity do.
Do you know anything like this that's good?
I have a few ideas in mind, but I don't really know where to start. What was your first project and how long you used on it (including learning the language)?
Thinking about some python/bash to make simple scripts myself.
Name:
Anonymous2012-11-20 14:40
UCB has a project named"pig",it's for UCB's python learners,i am dong this project,it's quiet interesting,u can try it
>>5
You don't have to figure them out the first time you hear about them. That would be stupid. You just heard about them and you don't know what they are!
You do have to understand them before you move onto other languages after C, which is something you must do if you want to be a good programmer. Even if you hate all other languages and go back to C for the rest of your life, the important part is the perspective you gain from other definitions of ``programming''.
>>5
Not the first time. Just if you don't ``get'' them on your own.
Name:
Anonymous2012-11-20 16:43
>>7
Is C really that important to learn as a first language though?
I understand it has a lot of great things to offer, but is it really must-be for a newbie?
You should get at least minimal experience with the concept of programming in some other language like Python before you try C. C is a very good language to know though, but it probably shouldn't be your very first introduction to programming.
My first programming experience was dicking around with QBASIC when I was 12 or so. I had no idea what I was doing and the most I ever accomplished was writing an unbelievably shitty slideshow thing for a school presentation and getting it to flood the screen with randomly-coloured PENIS PENIS PENIS PENIS.
My next real attempt at programming was in C at 16, where I wrote some simple programs to help with my math homework (2x2 RPN matrix calculator) and an awful CGI web site ``CMS'' that made extensive use of an home-grown bubblesort() implementation.
An RPN calculator is a great first project, since you get to implement a basic data structure (the stack), do some simple IO, and have a useful tool at the end.
The matrix calculator could be a good second project. The only bit of ``domain knowledge'' is the algorithm for multiplying two 2x2 matrices, and you can just copy that from Wikipedia. Other than that, it's a simple extension of the vanilla calculator, so it's just a ``next step'' rather than a big chunk to try all at once.
Name:
Anonymous2012-11-20 17:15
>>9
No, those guys are clothes minded. Python is a fine first language. Scheme is another good one. Haskell would be great if we had real tutorials for it (WE DON'T). C is great because of the tutorials (K&R), because it's "close to the metal," and because it's not full of useless bullshit.
Useless bullshit is your worst enemy right now. Java and C++ are horrible, awful first languages that will waste months of your life forcing you to memorize bullshit. PHP and Javascript are almost as bad, because of the tutorials if nothing else. So avoid all those. Either get the K&R book (The C Programming Language) or do Zed Shaw's tutorial for Python (http://www.learnpythonthehardway.org/).
>>13
I wouldn't advise following his tutorial. It has about 10 lessons about printing, then it skips to conditional statements and suddenly you're into objects because fuck everything.
In case I didn't make myself clear, the pacing is terrible for both novice and EXPERT programmers.
>>15
Because it sounds like it will make you able to ``hack Facebook''.
Name:
Anonymous2012-11-20 18:24
Thanks for the answers,
I don't really have any interest in Java or C++, but I might be forced to use it next year for bachelor. Unfortunately.
Think I am going to keep playing around with Python, but do you guys know any great tutorial/books? I still remember loops, but forgot all about functions (as to how to define them).
Would love some project-oriented learning style, but a good book might do it as well.
Any reason to learn Lisp or Scheme, or are they just excellent learning languages?
Haven't heard anyone using them in real life, so I don't know their strengths.
>>19
It's probably not too useful in industry, because most people use other languages, because most people are stupid people. But it's great in all other respects.
Name:
Anonymous2012-11-23 11:39
>>21
Is it good for any specific tasks or is it a general language, if there even exist any specifc-purpose languages? Would you recommend List or Scheme as a first language?
>>22
Scheme. Then if you really intend to use that, learn Lisp (you probably won't, not because Lisp is bad but because Lispers are awful people as you may have previewed here)
Name:
Anonymous2012-11-23 12:01
>>24
Except naturally Ahmed who is a gentleman and a scholar.
Name:
Anonymous2012-11-23 12:30
>>24
What the fuck are your spewing on about? Isn't Scheme one flavor of Lisp?
>>22
The Scheme flavor of Lisp. Then if you really intend to use Lisp, learn Common Lisp (you probably won't, not because Lisp is bad but because Lispers are awful people as you may have previewed in >>26)
But seriously, every time I consider writing something non trivial in lisp, I have to decide which implementation I will use. No matter what I do, the code I write will become dependent on a specific implementation and those that use other implementations wont be able to use my code without porting it. Meanwhile every implementation has a drawback.
Common Lisp: no TCO
Scheme:
no CLOS,
implementations have varying support for RnRS
implementations add in their own functions for features lacking in the standard, and these ruin portability.
took out key features while adding stupid ones, like hygienic macros.
Clojure: Fuck You!
Scheme was an improvement over lisp in its simplicity but it didn't specify enough features to be usable on its own, and it was never designed to be. People then reinvent implementations for the features they need, like object systems, using macros, but these implementations are doomed to be slow as fuck and conflict with other user created language extensions that provide the same features. Lisp might have been a mess, but at least it had everything you could possibly need in one box.
I am thinking about a software bachelor next year,
Why get a fake one when there are plenty of extremely desperate real bachelors here?
Name:
Anonymous2012-11-23 17:25
>>27
I don't know how right you are about the rest of your post, but I'm not a Lisper. Just read enough is SICP to know Scheme and Lisp are not disjoint.
Name:
Anonymous2012-11-23 19:34
>>32
Is there ever a reason not to use Chicken Scheme?
>>38
Is her name Reimu, Satori, Okuu, Reisen, Keine or Marisa?
If not, fuck off.
Name:
Anonymous2012-11-23 22:47
>>37
It's inactive on Friday nights because fucking neurotypicals go out.
It's inactive during day when neurotypical are at work. During night they sleep and that's why /prog/ is also inactive then. It's inactive on Saturday because of Shabbat and it's inactive on Sunday because neurotypicals visit their family.
I'm anonymous. I have posted enough superior posts to get your ass pounded. Unfortunately, neither of us can prove either way.
(By the way, you should've saged that post.)
Name:
Anonymous2012-11-24 11:06
>>55
If you are the author of some of the superior posts, thank you. If you are one of the monkey trying to impersonate this guy (I believe he is the only one left), that's just pathetic. I could show you that every newcomer does this.
Either way, I won't sage anything. I have nothing to share with the brilliant Anonymous and he can safely ignore me. Monkeys trying to fit in are just ridiculous.
>>56
Who's brilliant? In the first half of this thread there are at least three classically trained /prog/lodytes trading flawed opinions that still have merit. When it comes right down to it you have to decide for yourself what's bullshit and what's not. You can't hold everyone else's hand by only saying things that are not bullshit.
>>61
But there are disgusting neurotypicals offending the local ``autists'', feeling attracted to real girls of their own age and having jobs, in a way completely unrelated to this thread!