Would you teach me how to be a programmer?

Evo.lve

All that you could be.
Member
Joined
Oct 11, 2010
Messages
1,786
Trophies
1
Location
Away from you.
Website
Visit site
XP
233
Country
Most people will already know this, but contrary to what many may think, C++ is a VERY hard language to learn. It could take months, years who knows. You should start off with the basics like web design before going into proper programming.
 

Skye07

Well-Known Member
Member
Joined
Dec 24, 2006
Messages
450
Trophies
0
Location
Belgium
Website
www.skyon.be
XP
469
Country
Belgium
Diamond of Doom anyone?
tongue.gif



I disagree with starting off with a weblanguage. The methodology is a bit too different, if he likes to code applications he should pick up a programming language.
 

Mazor

Z80 master arch
Member
Joined
Feb 14, 2008
Messages
547
Trophies
0
Age
17
Website
Visit site
XP
255
Country
Skye07 said:
Because VB.Net sucks balls compared to C#.
For anyone starting out Java or C# is the language to choose.
And C# and Java, both being other high level languages, don't even attempt to solve most of the problems/disadvantages.

Skye07 said:
There's a reason why most universities start off with Java.
Source on this being true?

And even if it would be true, it wouldn't prove Java to be better than other languages just like how most universities probably use Windows doesn't prove it to be the best development platform (or best OS).

Also, a lot of what is taught at universities are general programming theories that can be applied to most/almost all languages. High level languages are often more suited for teaching these, even when they are used in lower level languages too.
Skye07 said:
See http://blogs.msdn.com/b/csharpfaq/archive/...vice-versa.aspx

This article pretty much completely defeats your own campaign of saying that VB.NET is better to start with than C# by saying that it doesn't really matter which one you start with as you can easily switch and that the choice is highly subjective.
Skye07 said:
Because it's true! Compare coding done by someone with a programming degree to coding by someone who learnt it by themselves and you'll see who's got the cleanest most extensible code. I'm not saying they can't code at all and some are more gifted than others but learning to code on your own won't be enough if you want to design high quality code.

I have nowhere implied that people who don't take a degree are generally as good programmers as the people who do, anyone can understand that the opposite tendency is true and that code done by people with a degree will generally be better.

But what you are saying, and then in this post reinforcing as true using irrelevant general tendencies to support your argument, is that there is not a single good programmer amongst the thousands of hackers and hobbyists out there that never took a degree.

This is ignorant beyond ignorance.
QUOTE(Skye07 @ Jan 30 2011, 04:44 PM)
See http://education.internet.com/articles/sel...the-difference/

Contrary to what you seem to believe, this article really doesn't prove that there are no programmers without degrees at all. If you were instead citing it as proof of the tendency of programmers with a degree making better code than programmers without one, then you were just kicking up an open door.

QUOTE(Skye07 @ Jan 30 2011, 04:44 PM)
I disagree with starting off with a weblanguage. The methodology is a bit too different, if he likes to code applications he should pick up a programming language.
Well put, quoted for truth as good advice.


EDIT: Typos.
 

gumgod

Well-Known Member
Member
Joined
Sep 12, 2009
Messages
292
Trophies
1
XP
184
Country
United States
Actually some web programming can be a good introduction to other types of programming. PHP for example is quite easy and is similar in many ways to other programming languages. Advanced JavaScript and 'AJAX' can define and use objects, and XML is useful for web and standard programming. Also ASP can even contain C code. HTML and CSS however are not similar to desktop programming, and will not help you transition from web design to desktop programming. However that being said if you want to program games (which I'm assuming you do since you're posting here) none of these will not help much... unless you're going for a web based game. If you ARE wanting to make a web based game and already know some basic web stuff check out Head First AJAX. The techniques learned there can be used to create simple games and web based applications.
 

Sausage Head

Lord Sausage LXIX
Member
Joined
Oct 28, 2010
Messages
1,675
Trophies
0
Age
21
Location
alanjohn check ur pm
XP
190
Country
Netherlands
game01 said:
Sausage Head said:
You can't really do much stuff in VB.NET, but it's a good start besides HTML and CSS

VB.Net is a programming language. HTML and CSS isn't. It's for webpages same as ASP.Net i guess.
HTML = Hypertext Markup Language
CSS = Cascading Style Sheets
ASP = Active Sheet Pages
I know that, but people should start with HTML or CSS to understand what code is, and to remember it.
 

camurso_

Well-Known Member
Member
Joined
Dec 23, 2004
Messages
542
Trophies
0
Age
45
XP
460
Country
Portugal
Skye07 said:
Because VB.Net sucks balls compared to C#. For anyone starting out Java or C# is the language to choose. There's a reason why most universities start off with Java. See http://blogs.msdn.com/b/csharpfaq/archive/...vice-versa.aspx


And that´s just ridiculous. Anyone who wants to learn how to programme must start from the beginning. C language is the mother of all modern laguages. If you know C you learn easily any other language. The only thing besides learning C is the OO paradigm.
The rest is like we Portuguese say :"The same shit, but different smell"
 

kaputnik

Well-Known Member
Member
Joined
Sep 10, 2007
Messages
215
Trophies
1
XP
910
Country
Sweden
DiscostewSM said:
You may learn the fundamentals from people and schooling, but the real meat of programming, imo, is from your own learning/research/testing, and just plain goofing around with code to see what can and cannot work, to see how changing something makes a difference in the end result, and how to improve them based on how you want things done.

Like others have said, it's not something you can learn overnight. It may even take months or years before you get a real grasp on the concept. It takes time (a lot of it) and patience (a lot of that too).


Quoted for truth.

---

These are my personal opinions on the matter;

The most important thing is that you're interested enough to cope with the fact that there's a very long way between writing your first hello world program and writing something useful. It's gonna take countless hours of practice before you're good enough to write the programs that made you want to learn programming.

C++ is the language to learn imo. Sure, almost any other language is easier, but learning C++ really pays off in the end. It's very powerful and versatile, there are compilers and toolchains for almost any platform you can think about (including NDS, Wii, etc if you want to get into homebrew), and so on. The only real downside for the programming newbie is that it's not designed to be easy to learn.

I began learning C++ using online tutorials and references. Cprogramming.com, arachnoid.com and cplusplus.com were the ones I used the most. Eventually I supplemented that with a book, there are probably plenty of those in PDF format on your BT site of choice. Just pick one that seems good and try it, if you don't like it, try another one. And also, it's not a bad idea to use several tutorials at once, they often complete each other.

Parallell to the lessons in the tutorials, I used to have own projects, and as I learned new stuff I kept working on those.

Try to really understand every line of code does when you write. You'll probably do a whole lot of cut and pasting from examples, take the time it takes to understand those snippets of code too.

There's a lot of different compilers and editors available. Code::blocks is a good, very easy to setup, free all-in-one solution. Download the one with MinGW bundled, install, and you're good to go.
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Psyfira said:
Sausage Head said:
I know that, but people should start with HTML or CSS to understand what code is, and to remember it.
"What code is"? It's not even close :S
I think he's referring to the concept of syntax. I agree that somebody who's never done any coding at all should start with some HTML and CSS just so they understand the concept of code-to-result and syntax.
 

Mazor

Z80 master arch
Member
Joined
Feb 14, 2008
Messages
547
Trophies
0
Age
17
Website
Visit site
XP
255
Country
kaputnik said:
Content
Great post, this beats every attempt I've ever made to promote C++ as my language of choice.

I actually also used two of the three sites you mention and a tried a few books until I found one that I liked. That book was good mainly because it had good exercises after each chapter which is a really nice concept. After spending a few months making text-based RPGs and similar and another few months of small GUI applications that didn't really do much I realized I had actually learned quite a lot and felt very rewarded for the time spent.

Now, after a few years of developing applications that can actually be used for something, I feel extremely glad that I opted for C++ whenever I experience the lag of a VB/C#/Python/Java application. The joy of knowing that your application doesn't prompt users to bloat their PC with .NETs or JREs and can generally just be run without external dependencies is also great.

Out of curiosity, have you published any applications you've made?

QUOTE(Rydian @ Feb 2 2011, 11:15 PM) I agree that somebody who's never done any coding at all should start with some HTML and CSS just so they understand the concept of code-to-result and syntax.
I disagree with this. If you're interested in developing applications (but never did any coding) and at the same time not at all interested in developing webpages, you should really just start with the former. I was also recommended to start with HTML but found it very boring and felt that I was doing something entirely different than what I wanted. Most people willing to learn will be able to understand the concept of code generating a result by experiencing it first hand in any hello world-likes they make.

Well, bottom line is that which approach will work best is highly subjective. Some good general advice is to be patient and really keep going when you've started learning though.

EDIT: Typo.
 

kaputnik

Well-Known Member
Member
Joined
Sep 10, 2007
Messages
215
Trophies
1
XP
910
Country
Sweden
Skye07 said:
Because it's true! Compare coding done by someone with a programming degree to coding by someone who learnt it by themselves and you'll see who's got the cleanest most extensible code. I'm not saying they can't code at all and some are more gifted than others but learning to code on your own won't be enough if you want to design high quality code. See http://education.internet.com/articles/sel...the-difference/

I believe the truth is somewhere in the middle. Compare it to learning to drive. You can learn to drive by taking driving lessons, or you can learn by practicing with our dad or whoever is willing to risk his car for you to get a driving licence. If you learn the first way you'll get all the details right from the beginning, and yes, you will probably learn more in a shorter timespan since your driving teacher knows how to put you in many of the situations you learn from, but you'll have to spend a fortune on it if you want the experience you get from all the different traffic situations you get into by simply spending time behind the steering wheel. The same goes for programming, a teacher can give you the basics, teach you good practices, and in general point you in the right direction, but he can't give you all the experience you need to become a skillful programmer. To get that you have to use your own brain, you can't have it spoon fed by a teacher.

Personally I believe that the best way to learn programming is to combine lessons with learning on your own, but if I had to choose between have someone teach me or learning on my own, I'd go with the latter
smile.gif


Mazor said:
kaputnik said:
Content
Great post, this beats every attempt I've ever made to promote C++ as my language of choice.

I actually also used two of the three sites you mention and a tried a few books until I found one that I liked. That book was good mainly because it had good exercises after each chapter which is a really nice concept. After spending a few months making text-based RPGs and similar and another few months of small GUI applications that didn't really do much I realized I had actually learned quite a lot and felt very rewarded for the time spent.

Now, after a few years of developing applications that can actually be used for something, I feel extremely glad that I opted for C++ whenever I experience the lag of a VB/C#/Python/Java application. The joy of knowing that your application doesn't prompt users to bloat their PC with .NETs or JREs and can generally just be run without external dependencies is also great.

Out of curiosity, have you published any applications you've made?

QUOTE(Rydian @ Feb 2 2011, 11:15 PM)
I agree that somebody who's never done any coding at all should start with some HTML and CSS just so they understand the concept of code-to-result and syntax.
I disagree with this. If you're interested in developing applications (but never did any coding) and at the same time not at all interested in developing webpages, you should really just start with the former. I was also recommended to start with HTML but found it very boring and felt that I was doing something entirely different than what I wanted. Most people willing to learn will be able to understand the concept of code generating a result by experiencing it first hand in any hello world-likes they make.

Well, bottom line is that which approach will work best is highly subjective. Some good general advice is to be patient and really keep going when you've started learning though.

EDIT: Typo.

Thanks
smile.gif


Seems we started out pretty much the same way. I used the book the way you did, mostly for in depth reading on different subjects, and exercises. The online tuts gave me the basics in a condensed way, and also left room for some brainwork when trying to figure out the parts that the tutorials left out. And thats where the references came in, they were great for filling in those holes.

Most of my programs are quite specialized, and hardly of any interest for anyone else. My current project is an application to parse alarm, event and manoeuver (spelling?) logs from the alarm/control system on the ship where I work. I don't think anyone else would be interested in having a program to find out exactly how many times the bilge wells were stripped the last month, how much lube oil the main engines have consumed, or what the current specific fuel consumption of the ship is. So no, I haven't published anything, and I'm not at that level that I want others to see my code anyways
wink.gif


Once I get into homebrew for DS and Wii I guess I'll release whatever I code though, since there aren't already programs to do anything you can think of for those platforms, even the simpler programs I'm able to write might be interesting for others
smile.gif


I agree with your opinions about installing loads of bloated libraries and runtime environments. Being able to write something that compiles into native code is so much more elegant and beautiful.


Also, I agree with your disagreement to Rydian's post. To learn another simpler language before learning the real deal is a waste of time in my opinion, it's like ..well.. let's say think that you have to learn to ride a bicycle before you learn to drive a car, based on that both are vehicles, and the bike is the easier one to learn to use. Sure, there are a few similarities, and learning to ride a bike at least won't make you a worse car driver, but in the end most of the aspects are different, and you haven't learned a lot from biking that you can transfer to car driving. Personally I think that opinion come from the oldschool programmers that learned some other language back in the days, and yes, their experience has probably helped them a lot, but on the other hand they probably fail to realize how much time they actually spent learning those other languages.

Learning something easier might help you grasp the basic concepts, but it's definitely not worth the time spent, and you'll have to learn most of what you've learned from the beginning anyways. Imo it's better to just take the bull by the horns and go for the real deal from the start.

Oh, and if you have to learn something easy first, at least go for something where you can produce executable code. HTML or CSS might give you an idea of the concepts of API calling and such, but not programming in the sense of writing machine executable code.
 

Rydian

Resident Furvert™
Member
Joined
Feb 4, 2010
Messages
27,880
Trophies
0
Age
36
Location
Cave Entrance, Watching Cyan Write Letters
Website
rydian.net
XP
9,111
Country
United States
Most people wouldn't be at the bike level to start, they'd be at the crawling level, not yet knowing basics like balance or hand-eye coordination.

To people that do programming, they may not remember a time when they didn't know any and it didn't make sense. A lot of it is concepts that normal people find hard to wrap their heads around.
 

nryn99

desu~
Member
Joined
Sep 29, 2010
Messages
2,927
Trophies
1
XP
830
Country
Philippines
Sausage Head said:
I know that, but people should start with HTML or CSS to understand what code is, and to remember it.

ahh, sorry for misunderstanding. you're right i first tried html before any actual programming language.

also what rydian said above is true. it's better to know what you'll be dealing with.
 

Lastly

Tempin' at the speed of sound
Member
Joined
Aug 8, 2008
Messages
274
Trophies
1
XP
587
Country
United States
Evo.lve said:
Most people will already know this, but contrary to what many may think, C++ is a VERY hard language to learn. It could take months, years who knows. You should start off with the basics like web design before going into proper programming.
Really, it isn't THAT hard (Hence the emphasis). It just hard. Even my nephew who is 11 years old could learn C++ as his FIRST language (edit: within one month)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    AncientBoi @ AncientBoi: Thank You :D