>>3
Yes. Fundamentally, the image 4chons and the text 4chons are unconnected codans which have nothing to do together. Your kilometers may be assorted.
>>9
Might I add: They(Haskell and Common Lisp, not other Lisp dialects)'re both advanced languages which you should not choose as your first language until you have reached satori.
I'd say you should go for C to understand better how the machine works at a lower level(and maybe some assembler), and after that you can learn a high level language, be it java,c#,python or whatever you prefer. After that, you should learn Common Lisp and possibly Haskell. You should also read SICP after learning this, or inbetween.
Name:
Anonymous2009-10-19 21:14
A brief summary of all important languages: (If your language is not on here, it probably sucks)
C is good but highly manual. If you have to do low level programming for device drivers or something, C is the way to go.
C++ fucking sucks. Sorry.
Assembly is like C but more of a pain in the ass. Just use C.
Java sucks too, but given the choice between Java and C++, I'd go with Java because it sucks SLIGHTLY less.
Javascript would have been worthwhile but there's no proper command-line based version of it that's capable of doing jack and/or shit, so the only thing anyone uses it for is cutesy flying images and blog-spamming viruses. So fuck it.
D could've been decent but it's got a split personality and no one uses it, so what's the point.
Scheme is great but has no libraries. It's a good learning language if you're looking to get into functional programming.
Common Lisp is pig disgusting, but at least it's capable of doing something. Learn that after you get a handle on Scheme.
Perl is great. You can program in it merely by mashing your fist on the keyboard, which is excellent because that's what you'll want to do after trying to program in it.
Python is really overrated but nonetheless decent. It's a good choice for "real world" programs, I guess.
Ruby is weeaboo shit. Go learn Python.
Haskell is annoyingly pedantic, and I am convinced that its only purpose is to troll people.
Smalltalk had a good idea, but that's about it. Not worth discussing much further.
Objective C is like C and Smalltalk. At least it's saner than C++, and it really is a proper superset of C, but it's also not worth discussing.
Prolog sucks.
Forth is hard to write, but kind of fun if you like puzzles.
Factor tries to be Forth ... and also Smalltalk and Common Lisp, all at the same time, so it ended up being a big ball of shit. On top of that, Slava is an insufferable prick.
As for programming techniques:
Procedural is really straightforward, and makes it fairly easy for any retard to crap out code.
Object-oriented programming is only useful for user interfaces; most of the time it's just extra shit to deal with.
Functional programming is a good technique, and helps make some things much cleaner and more concise. However, *pure* functional is only good if you also enjoy S&M.
Declarative programming is dumb.
IMO the best paradigm is mostly functional with a bit of procedural to glue it together.
>>17 Declarative programming is dumb.
Declarative programming does include logic, functional, meta-programming and DSL's, so it doesn't make sense to call it dumb. IMO the best paradigm is mostly functional with a bit of procedural to glue it together.
There is no "best" paradigm, some problems benefit more from a functional aproach, others are better if you use a DSL/meta-linguistic abstraction, others are a pain if you refuse to use state - so imperative programming is the most obvious solution for those cases.
Name:
Anonymous2009-10-19 21:57
>>16
I see you didn't read it carefully. That post was nearly 1/5th troll. And lol at praising functional programming and calling declarative programming stupid in the same post. It's like >>14 just copy/pasted those statements from various sources without understanding them.
By "declarative programming" I am referring to constraint/logic based programming -- Prolog, for example. I suppose I should have been more precise; I don't personally think functional should be a subset of declarative, rather, I believe only *pure* functional belongs in that category. (And I stand by my earlier statement that pure functional is unpleasant)
Name:
Anonymous2009-10-19 22:35
/prog/ Language Guide - V1.15
Copyright (C) 2009 /prog/
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>;.
BEFORE PROGRAMMING: 1. Python:
The main focus here is not how to learn how to program, but to learn how to write them. Do not worry if your program works or does anything useful, instead look at one of the greatest features of Python - code formatting. Write a couple simple programs, and pay attention to code indentation. Use only minimal programming syntax (if, for, def, and simple addition). Once you understand how a program's indentation should look, you can continue.
2. Lisp:
You will not be writing any programs while learning Lisp. Instead, you will learn the language to gain the important ability of parenthesis counting. Read through numerous programs until you are able to count (and visualize) the parenthesis structure, including how many you need to finish closing them all. A good source of code to do this with is The Structure and Interpretation of Computer Programming, by Gerald Sussman.
YOUR FIRST PROGRAMMING: 3. C++:
You are now ready to write code. By starting with a language such as C++, you will be able to learn programming much faster. C++ is an object oriented language, meaning just like the real world, everything is an object. This makes it much easier to learn because it's already so similar to real life. C++ is also a great example of an object oriented language, as it supports classes.
4. Perl:
Another introduction language to programming, Perl offers a wide amount of syntax, so just like a real language, code can be written in many different ways and still mean the same thing. Also, the language is very forgivable; almost anything you type will be valid Perl code.
GOING FOR GOLD -- PROGRAMMING IN THE CORPORATE WORLD: 5. Javascript:
This is the first half of Sun Microsystem's two tiered programming language front. Sun created two languages which are the standard of programming, accounting for roughly 90% of all business programming. Javascript uses simple and powerful syntax to perform any task. The best feature is that it doesn't need to be compiled to machine code, instead running through an internet brower, so you can harness the power of a computer through a program like Internet Explorer 7!
6. Java:
The most important language to learn. This language is Turing complete (meaning it can do anything) because it only uses objects (just like the real world). When you get hired, you will have to write in this language. If your company tells you otherwise, they are probably testing you. If they really are not writing in Java, write all your work in Java, show them it, and they will likely reward you for showing them an enterprise solution that promotes code reuse and scalability. (This is how Bill Gates started his computer career, and he is now the richest man in the world.)
>>36
People from /b/ are dumb, but they still can read. People from /b/ also love spewing what they think might be memes for no reason. That is why I suspect >>35 is right in thinking >>25-34 is from /b/.
Name:
Anonymous2009-10-20 3:43
>>39
Plot is: Shutin nerd discover a box with living dolls which kick each others ass and eat the defeated dolls souls. Kinda like Highlander, but in Japan. And with magic.
>>20 Python
Lisp
Sepples
Javascript
8/10
i was going to write a long angry, insulting post. but then i realised IHBT (or atleast i hope you're trolling).
Name:
Anonymous2009-10-20 4:41
Don't cry because it's over. Smile because it happened.
Name:
Anonymous2009-10-20 4:58
>>14
I'm going to typeset that and frame it just for the Computer Modern.
write all your work in Java, show them it, and they will likely reward you for showing them an enterprise solution that promotes code reuse and scalability. (This is how Bill Gates started his computer career, and he is now the richest man in the world.)
>>20
The General Public License (GPL) no "or later" clause is a horrible idea
that lets Richard Mao Stalinman (RMS) hijack your code
whenever he pleases.
If Linus hadn't removed it from the Linux source code,
the brainwashed RMS cultists would have
tainted the entire kernel with GPLv3,
and we would all be in the evil communist clutches
of the FSF right now and be forbidden to
run our software on the hardware RMS doesnt like.
So friends don't let friends use GPLv3 or later.
That way we'll always have the option to
use the GPLv2 if we want to,
and we can leave your friends behind.
'Cause your friends don't GPLv2,
and if they don't GPLv2 then they're
no friends of mine.
>>53
Did anyone else imagine midget RMS's dancing around handing out copies of the GPL or am I just crazy?
Name:
Anonymous2009-10-20 20:30
>>53
Uh, the GPL does mean free that way. The GPL means free, as in it is free of cost. You aren't free to do anything with it, in fact what you can do with it is very limited.
"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free" as in "free speech," not as in "free beer."
Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program's users have the four essential freedoms:
* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
>>57 "Free software" is a matter of liberty, not price.
Indeed, the GPL serves to render users ``free of liberty''.
BSD WAS HERE, GNU IS LOSER.
Name:
Anonymous2009-10-21 3:38
>>62
"Free software" is a matter of liberty, not price. To understand the concept, you should think of "free" as in "free speech," not as in "free beer."
Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program's users have the four essential freedoms:
* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
Name:
Anonymous2009-10-21 3:45
Free software means it doesn't cost anything. You aren't free to do whatever you want with it; hell, that's the reason the GPL was made - to restrict you from doing stuff with software.
Name:
Anonymous2009-10-21 11:54
how do I "gay quoted"
Name:
Anonymous2009-10-21 12:10
>>64 "Free software" is a matter of liberty, not price. Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software.
Name:
Anonymous2009-10-21 14:26
>>66 Free means free as in it doesn't cost anything.
OP, learn PHP. Everyone else in this thread is trolling you. Python is shit.
Name:
Anonymous2009-10-21 19:17
>>70
Yes, Python is shit and overrated.
It's a language that should only be used by XKCD fans and teeny boppers.
However, I don't think OP should learn PHP first.
Name:
Anonymous2009-10-21 19:26
>>71 It's a language that should only be used by XKCD fans and teeny boppers.
What should I start using instead?
Name:
Anonymous2009-10-21 19:28
>>72
Use what you will like. Look at few perl tutorials, few pythons', few rubys'. Don't make other decide instead of you. Start making your choices.
Name:
Anonymous2009-10-21 19:31
>>71
Python's clean syntax and large number of libraries make it a fine choice for programming. Just because programming in another language is harder doesn't mean that it's better.
Name:
Anonymous2009-10-21 19:33
>>73
I have made my own choices about programming languages for almost two decades, but >>71 seems to indicate that my choice of using Python is wrong, since I'm not an XKCD fan or a teeny bopper. I'd like to be enlighted by his great wisdom, not your new-agey, wishy-washy crap about making my own choices.
>>77
Not real hipster, programmer hipster.
Python is just fashion. And like all fashions the tide will turn some day, another language will take it's fashionable place, and just as we laugh at clothes from the 80's, people will laugh at Python and wonder why anybody ever used it.
You should use a timeless language like C or Lisp, or a language that is resented, yet widely used and unlikely to disappear for a very long time like java.
Also, it's seems to only ever be used and advocated by people who ONLY know Python.
It pisses me off to see first year compsci students acting like they're EXPERT PROGRAMMERS and telling everybody how Python is so awesome and kawaii ^_^!!! even though they have never even touched another language.
Name:
Anonymous2009-10-21 20:08
>>78 Also, it's seems to only ever be used and advocated by people who ONLY know Python.
Well, look harder. I know (as in "has written substantial amounts of code in") all of the three languages you mentioned, and two of them are amongst my favourites. Still, Python is currently my most used language by far.
Name:
Anonymous2009-10-21 22:58
>>78
They aren't programmer hipsters either, most are physicists that really don't give a shit about anything other than how easy it is to use. Some of them do know other languages like C, Perl, even Tcl; but mostly use Python now.
>>85
Considering that it's one third accurate and two thirds troll, he's already closer than you'll ever be.
Name:
Anonymous2009-10-22 4:53
>>69 The GPL was made to insure the freedom of software, by doing so it obviously has to restrict you from making GPL code proprietary.
You can't "make" code proprietary, that's a common misconception. The distorting and confusing idea did not arise by accident. Companies that gain from the confusion, like MySQL AB (and now Sun), promoted it. The clearest way out of the confusion is to reject the idea entirely.
When someone "takes" your code and does something to it, it doesn't affect your own copy of the code at all. Code is information, not a physical object, it is copied, not moved, so it can't be "stolen" or "made proprietary". You better stop listening to propaganda and start thinking for yourself.
Name:
Anonymous2009-10-22 5:02
>>88
This.
The thing that i don't understand about the GPL is the whole "we're just keeping your code free" shtick.
Now, think about this rationally.
If a company decides to use your code for a closed source application, then will that make your code non-free?
I mean, YOUR code will still be in the exact same place you left it, on your webserver/sourceforge account/whatever, available for anybody to download for free.
It doesn't do anything to keep your code "free", all it does is restrict the freedom of others.
that kind of faggotry leaves a bad taste in my mouth.
>>89
It just means they can't improve it and publish new versions without giving your the improvements. At least the LGPL does that. The GPL itself is more gay/viral.
Name:
Anonymous2009-10-22 7:52
>>89 If a company decides to use your code for a closed source application, then will that make your code non-free?
It means I can not incorporate their extensions to my protocols which means there will be ten different incompatible products on the market and there you have <any non-GPL project> all over again.
Anyone have the text of the grad school advice "you need to be reading 10-15 papers a week" kopipe?
Name:
Anonymous2009-10-22 8:00
>>91
there will always be closed source applications, and there will always be ten different incompatible products on the market.
your GPL doesn't change that in the slightest. your point is invalid.
Name:
Anonymous2009-10-22 8:11
if anything, using the GPL creates MORE incompatibility.
imagine if RFCs were licensed under the GPL.
we would be thrown back in to the age of when every company had their own set of protocols, because, lets face it, no business in their right mind wants to be forced release their whole code base publicly. so instead of using open standards that are infected with viral licensing faggotry they would instead write their own propriety standards.
the GPL only serves to make it less likely that propriety applications will go opensource.
a company like microsoft wouldn't suddenly say "ok, we want to use this GPL code so we're going to release all our source code publicly today".
that's completely absurd.
they require baby steps.
that's where better licenses come in. ones that provide actual freedom and don't scare away business.
Name:
Anonymous2009-10-22 8:29
>>93 there will always be closed source applications, and there will always be ten different incompatible products on the market.
your GPL doesn't change that in the slightest. your point is invalid.
What it does change is that the GOOD companies will have to share their changes. The bad companies will of course reimplement the protocols into some incompatible shit, but those will hopefully not catch on...
if the ultimate goal of the opensource movement is to have all code released publicly, then there is no way you could ever do that without the help of big business, which means that the GPL is completely counter-productive.
microsoft, apple, oracle, ibm; they're not going to disappear overnight, nor are they going to completely refactor their business model overnight.
if what RMS really wants to do is make opensource code pervasive (not be a whiny, immature anti-corporation faggot), then he should drop the GPL completely and make a license that says something along the lines of "You can use this code for closed source means, but you are required to make a donation(s) equivalent to at least x amount of money or sponsor x amount of opensource developers in exchange", or something in a similar vein.
Name:
Anonymous2009-10-22 8:45
>>96
companies wont fall for that either , because their managers are greedy , moneywhoring assholes who need it for fast cars, drugs and "bitches and hoes" .
it is not in any companies interest to "help their neighbour" .
Name:
Anonymous2009-10-22 8:48
>>96
Money? BAWWWW I CAN'T SELL MY RIPPED OFF GPL SOFTWARES BAWWWWWWW ::_________::::
Name:
Anonymous2009-10-22 8:53
/b/tard here
!MILKRIBS4K
99 replies
10/10 OP
jolly good show
Name:
Anonymous2009-10-22 8:58
>>99
are you discriminating against /b/tards?
HOW DARE YOU?
/prog/ IS A FAMILY FRIENDLY BORED YOU RACIST FUCK. GET OUT!
You can't "make" code proprietary, that's a common misconception.
Code is proprietary because an individual or company has claimed proprietary rights to it. If the user receives a computer program without all four freedoms, then the user cannot claim to have freedom. Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software.
When someone "takes" your code and does something to it, it doesn't affect your own copy of the code at all. Code is information, not a physical object, it is copied, not moved, so it can't be "stolen" or "made proprietary". You better stop listening to propaganda and start thinking for yourself.
Code can be 1. adopted, 2. forked and 3. published 4. while not granting the users their essential freedoms. Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. This is what it means when free software is "made proprietary. In order for the user must have all four freedoms at the same time.
>>105
So while it is true that free software will always remain free, RMS's problem is in the fact that people will use free software, derive a proprietary fork from it; a free program is being used as part of a proprietary program.
Name:
Anonymous2009-10-22 19:15
>>107
That is, he's concerned that a free software project may benefit society too much, and believes obstacles must be created to prevent that.
>>108
It's all a question of perspective, he sees this "obstacle" as necessary to preserve that gains he did make. It may seem unnecessary today, but the GPL has been useful as an enforcement tool even as recently as Microsoft's hypervisor code.
>>105
So users can be made unfree simply by offering them choices. The mere presence of the proprietary software denies the user his freedom, even as all the original free software remains as it would have. That's some wookie quality logic there.
Name:
Anonymous2009-10-22 20:24
>>111
Choice does not mean freedom. When we say freedom, we're talking about the right to help oneself as well as the right to share and cooperate with our community. Proprietary software forbids users from practising these things and so, making the choice of installing and operating proprietary software cannot mean freedom - users are forbidden to help themselves, users are forbidden to cooperate with their community.
>>114
get out. get out. get out. get out. get out. get out. get out. get out. get out. get out. get out. get out. get out. get out.
Please kill you'reself you grammar nazi scum. You don't deserve to live.