Personal computing discussed

Moderators: renee, SecretSquirrel, just brew it!

 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Where to start learning....

Tue May 22, 2007 6:47 pm

I want to learn how to program. My father is/was a programmer for IBM at one point in time then left to start his own business but I never wanted to be a computer geek just loved gaming on it. Now I've got a lot of free time on my hands, semester is over so I figured I'd do something to occupy the time after working during the day for Uncle Sam's Misguided Children. I figured well maybe I could pick up programming. My father isn't in country right now so I can't go to him. So what do you all suggest I start with? VB, Java, Assembly, or what?
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
echo_seven
Gerbil
Posts: 47
Joined: Sat Nov 26, 2005 12:31 am
Location: Cedar Rapids, IA

Tue May 22, 2007 7:16 pm

Very much depends on what you want to do with programming. I can share the experience I've had in the two things I've tried to develop for, business apps and games:

Games - Still mainly C++. C# has some interesting improvements and may be the language of the future. More important nowadays is to become familiar with the Microsoft DirectX libraries in whichever language you are using.

Business - Visual Basic (VB) because you can develop functioning programs with pretty interfaces very, very fast. Learning SQL along with it is very, very useful in the workplace because it seems every large company stores all its data in a relational database these days.
 
Gungir
Gerbil Elite
Posts: 724
Joined: Thu Jan 12, 2006 12:44 pm
Location: Sol System
Contact:

Tue May 22, 2007 7:18 pm

C is a good place to start. It carries over nicely to C++ and other derivatives, and Java is pretty easy after learning C. I've always preferred it for robotics experimentation, which is something I'm still wetting my feet in.
Asus A8N32-SLI - AMD X2 4200+ @ 2.7GHz - 2 x 1GB Corsair PC-3500LL @ 266MHz, 3-3-3-6 - SLI 7800GTs @ 505/1206 - Corsair HX620 PSU - Cooler Master RC-690

The two great evils of system tuning: YMMV and IIRC.
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 7:23 pm

I have no desire to do anything with games development right now so maybe VB would be a better place to start. I can do C later on. Man I should have listened to my father and let him teach me back when I was a kid. It's the one regret I have unfortunately. Guess I better scour the net for books and whatnots on VB. What version is it up to now anyhow?
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 7:25 pm

echo_seven wrote:
Very much depends on what you want to do with programming. I can share the experience I've had in the two things I've tried to develop for, business apps and games:

Games - Still mainly C++. C# has some interesting improvements and may be the language of the future. More important nowadays is to become familiar with the Microsoft DirectX libraries in whichever language you are using.

Business - Visual Basic (VB) because you can develop functioning programs with pretty interfaces very, very fast. Learning SQL along with it is very, very useful in the workplace because it seems every large company stores all its data in a relational database these days.


What else is programmed in C besides games?
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
king_kilr
Maximum Gerbil
Posts: 4300
Joined: Sat Sep 25, 2004 11:23 pm
Location: Browsing the web far and wide.
Contact:

Tue May 22, 2007 7:29 pm

Semper1775 wrote:
echo_seven wrote:
Very much depends on what you want to do with programming. I can share the experience I've had in the two things I've tried to develop for, business apps and games:

Games - Still mainly C++. C# has some interesting improvements and may be the language of the future. More important nowadays is to become familiar with the Microsoft DirectX libraries in whichever language you are using.

Business - Visual Basic (VB) because you can develop functioning programs with pretty interfaces very, very fast. Learning SQL along with it is very, very useful in the workplace because it seems every large company stores all its data in a relational database these days.


What else is programmed in C besides games?


Other applications, for example MythTV is written in C

/not a programmer
Damn the torpedoes , full speed ahead.

AMD X2 4200+, Asus A8N-E, 3GBs of RAM, 7900GS
 
daveagn
Gerbil XP
Posts: 468
Joined: Wed Jun 02, 2004 5:44 pm

Tue May 22, 2007 7:37 pm

What else is programmed in C besides games?


Quite a lot (maybe most?) embedded systems code.
 
DancinJack
Maximum Gerbil
Posts: 4494
Joined: Sat Nov 25, 2006 3:21 pm
Location: Kansas

Tue May 22, 2007 7:39 pm

I'd have to agree that C and/or C++ is a great place to start. From there, i'd move on to Java. Almost all schools now a days (Universities) start you out with C++ and/or Java. You can really learn a lot of C++ on your own and not really have a lot of problems with it. I'd really suggest programming in a command line format though. M$ environments can bite me. I started in with Xemacs and command line in Gentoo linux and i'm very happy that i did. Cygwin offers that kind of IDE for windows that you can use. (http://www.cygwin.com) All in all though, I'd suggest starting with C or C++.

As stated above a lot of games are in C++, such as Doom III engine. Sierra On-line: Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, and too many others to list... Blizzard: StarCraft, StarCraft: Brood War, Diablo I, Diablo II: Lord of Destruction, Warcraft III, World of Warcraft. Quicksilver: Shanghai Second Dynasty, Shanghai Mah Jongg Essentials, Starfleet Command, Invictus, PBS's Heritage: Civilization and the Jews, Master of Orion III, CS-XII. Microsoft: all games

As for things we all know of that are written in C++.... almost all of Microsoft's stuff is written in some form of Visual C++
Symbian OS for cell phones is written in C++
OS X (Finder) is written in C++, not the whole OS though
Nearly all of Adobe's programs
A TON of cell phone providers code is in C++ (Att/cingular, tmobile etc...)

Those are just a few of the people that use C++, but as you can see it's pretty much all over. Have fun!
i7 6700K - Z170 - 16GiB DDR4 - GTX 1080 - 512GB SSD - 256GB SSD - 500GB SSD - 3TB HDD- 27" IPS G-sync - Win10 Pro x64 - Ubuntu/Mint x64 :: 2015 13" rMBP Sierra :: Canon EOS 80D/Sony RX100
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 7:48 pm

DancinJack wrote:
I'd have to agree that C and/or C++ is a great place to start. From there, i'd move on to Java. Almost all schools now a days (Universities) start you out with C++ and/or Java. You can really learn a lot of C++ on your own and not really have a lot of problems with it. I'd really suggest programming in a command line format though. M$ environments can bite me. I started in with Xemacs and command line in Gentoo linux and i'm very happy that i did. Cygwin offers that kind of IDE for windows that you can use. (http://www.cygwin.com) All in all though, I'd suggest starting with C or C++.

As stated above a lot of games are in C++, such as Doom III engine. Sierra On-line: Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, and too many others to list... Blizzard: StarCraft, StarCraft: Brood War, Diablo I, Diablo II: Lord of Destruction, Warcraft III, World of Warcraft. Quicksilver: Shanghai Second Dynasty, Shanghai Mah Jongg Essentials, Starfleet Command, Invictus, PBS's Heritage: Civilization and the Jews, Master of Orion III, CS-XII. Microsoft: all games

As for things we all know of that are written in C++.... almost all of Microsoft's stuff is written in some form of Visual C++
Symbian OS for cell phones is written in C++
OS X (Finder) is written in C++, not the whole OS though
Nearly all of Adobe's programs
A TON of cell phone providers code is in C++ (Att/cingular, tmobile etc...)

Those are just a few of the people that use C++, but as you can see it's pretty much all over. Have fun!


Ahh yes I think I'll start with C++. I was just reading some stuff off the net about C,C++, Java and VB. Apparently they all have this new version called .NET. Microsoft offers a suite that as it all for 800 -2800 I read. My pockets aren't that deep. I'm searching for sites that might over them for free. I heard MS offers VBE for free and only a few unnoticeable thigns are missing that aren't in the expensive version. Anyone on here have experience with the new .NET variants of these programs? Should I start with that or just regular C++?
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
just brew it!
Gold subscriber
Administrator
Posts: 53714
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Tue May 22, 2007 8:09 pm

daveagn wrote:
What else is programmed in C besides games?

Quite a lot (maybe most?) embedded systems code.

The Windows and Linux kernels (and much of the surrounding code as well) are also written in C.

Unless you specifically want to get a job doing Windows development someday, setting up a Linux box might be a reasonable option for you. The larger distros come bundled with compilers and interpreters for many languages -- C/C++, Python, PHP, etc. -- as well as web and database server tools.
Nostalgia isn't what it used to be.
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 8:23 pm

just brew it! wrote:
daveagn wrote:
What else is programmed in C besides games?

Quite a lot (maybe most?) embedded systems code.

The Windows and Linux kernels (and much of the surrounding code as well) are also written in C.

Unless you specifically want to get a job doing Windows development someday, setting up a Linux box might be a reasonable option for you. The larger distros come bundled with compilers and interpreters for many languages -- C/C++, Python, PHP, etc. -- as well as web and database server tools.


I have Suse Linux 9.0. Will that have what I need in there? I don't use it anymore as I don't know how to program and it was getting bother some. So maybe now that I have the time I can start learning and maybe better appreciate it.....
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Tue May 22, 2007 8:24 pm

So just go buy C++ For Dummies and away we go?

Can you guys suggest specific books, resources, and/or tools to get someone started?
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 8:32 pm

JJCDAD wrote:
So just go buy C++ For Dummies and away we go?

Can you guys suggest specific books, resources, and/or tools to get someone started?


While searching I found this site: http://www.cprogramming.com/begin.html

Apparently they recommend staying away from C++ for Dummies

Here's their list of books:

http://www.cprogramming.com/books.html
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
Flying Fox
Gerbil God
Posts: 25542
Joined: Mon May 24, 2004 2:19 am
Contact:

Tue May 22, 2007 8:38 pm

Since you are not doing it as a course (means that you are forced to do so), I would be more results oriented. What are you trying to do? Some flashy web pages? Quick and dirty GUI application? Games? Your text-based calculator? That may have an effect on the recommendation of which language to start and where to go from there.

I definitely would not suggest C/C++ as the first language, but without knowing a bit more I have trouble recommending between C#, Java, PHP, Javascript (in the web sense, so it includes HTML, but HTML is not a programming language really), Perl, Python, or even Ruby.
The Model M is not for the faint of heart. You either like them or hate them.

Gerbils unite! Fold for UnitedGerbilNation, team 2630.
 
echo_seven
Gerbil
Posts: 47
Joined: Sat Nov 26, 2005 12:31 am
Location: Cedar Rapids, IA

Tue May 22, 2007 8:44 pm

Now that many (probably more knowledgeable than me) people have started talking, I have only this to add:

.NET in the Microsoft products refers to the fact that if you use them, you will be able to use the massive body of functions in the "Microsoft .NET framework"

http://en.wikipedia.org/wiki/.NET_Framework

....if you look at that entry and still don't have a clue what the thing is, don't worry. The bottom line as far as programming goes, when you start write code in any of the .NETs you get a whole bunch of helpful functions that you let you do very powerful stuff with just a single function call. Stuff like download a webpage in a single line of code. :o


edit: err....after reading my own post, i really just sound like a shill for microsoft :( it's just that my experience is almost entirely with windows stuff (except for maybe some turbo c and turbo pascal back in the 'day), so I'm unable to comment on anything else. developing in windows vs. developing elsewhere probably has the same advantages/disadvantages as *using* windows vs. using other stuff...
Last edited by echo_seven on Tue May 22, 2007 8:54 pm, edited 1 time in total.
 
just brew it!
Gold subscriber
Administrator
Posts: 53714
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Tue May 22, 2007 8:46 pm

Semper1775 wrote:
I have Suse Linux 9.0. Will that have what I need in there? I don't use it anymore as I don't know how to program and it was getting bother some. So maybe now that I have the time I can start learning and maybe better appreciate it.....

That's probably reasonable, though I'd recommend grabbing a more current distro. OpenSuSE 10.2, Fedora Core 6, or maybe the latest Ubuntu (not sure what development tools are included in Ubuntu Workstation version, maybe someone who is more familiar with Ubuntu can comment).
Nostalgia isn't what it used to be.
 
blitzy
Gerbil Jedi
Posts: 1844
Joined: Thu Jan 01, 2004 6:27 pm
Location: New Zealand

Tue May 22, 2007 8:50 pm

delphi (with object pascal) is an easy place to start, your code actually resembles english :)

c++ on the other hand is very hard to get your head around as a beginner IMO
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 8:50 pm

Flying Fox wrote:
Since you are not doing it as a course (means that you are forced to do so), I would be more results oriented. What are you trying to do? Some flashy web pages? Quick and dirty GUI application? Games? Your text-based calculator? That may have an effect on the recommendation of which language to start and where to go from there.

I definitely would not suggest C/C++ as the first language, but without knowing a bit more I have trouble recommending between C#, Java, PHP, Javascript (in the web sense, so it includes HTML, but HTML is not a programming language really), Perl, Python, or even Ruby.


Not really trying to "do" anything per se. I just want to know how things tick on the computer. To be able to solve my own computer problems without having to take my machine somewhere I guess. Or be able to tweak things maybe? More importantly write programs for use at work to maximize productivity i.e. be more lazy, ha ha. Why wouldn't you suggest c/c++ but Java? Isn't Java based of C++?
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Tue May 22, 2007 8:55 pm

Would learning SQL be a good 'first step'?
 
just brew it!
Gold subscriber
Administrator
Posts: 53714
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Tue May 22, 2007 8:57 pm

Java was supposed to be C++ with the stupid stuff fixed. I think they were partially successful. :wink:

If you want to learn a good cross-platform scripting language, Python would be my vote. It's available for both Windows and Linux, has a ton of add-on packages that let you do all sorts of things with it, and is extensible (i.e. you can easily add modules to it that provide additional functionality).
Nostalgia isn't what it used to be.
 
just brew it!
Gold subscriber
Administrator
Posts: 53714
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Tue May 22, 2007 8:58 pm

JJCDAD wrote:
Would learning SQL be a good 'first step'?

Only if you intend to focus on databases. SQL isn't a general-purpose programming language, it is designed for manipulating relational databases (tables containing rows and columns of keyed data). Furthermore, the procedural extensions (i.e. stored procedures) are not standardized across SQL vendors.
Last edited by just brew it! on Tue May 22, 2007 8:59 pm, edited 1 time in total.
Nostalgia isn't what it used to be.
 
echo_seven
Gerbil
Posts: 47
Joined: Sat Nov 26, 2005 12:31 am
Location: Cedar Rapids, IA

Tue May 22, 2007 8:59 pm

JJCDAD, I don't know know if you're being sarcastic or not....

....but no, since SQL is almost like learning Japanese if all the other languages are like English/Spanish/French etc. But it's so useful for actual business that you can almost get a job just by having SQL as a skill alone.

edit: My vote is that any of C/C++/BASIC/Java is probably the way to go as a first language since they all share similar style, learn one, and you can quickly learn all four, and you can pretty much do anything on a computer once you learn them. C and C++ are probably more recommended if you want to understand the "guts" of your computer, how things actually work.

Stuff like Python/Perl/Ruby and other very high level languages are good for getting some kinds of things done very quickly, but those languages were specifically designed to hide the coder from specific implementations as much as possible.
Last edited by echo_seven on Tue May 22, 2007 9:05 pm, edited 1 time in total.
 
Semper1775
Graphmaster Gerbil
Topic Author
Posts: 1068
Joined: Sun Feb 26, 2006 8:44 pm

Tue May 22, 2007 9:01 pm

blitzy wrote:
delphi (with object pascal) is an easy place to start, your code actually resembles english :)

c++ on the other hand is very hard to get your head around as a beginner IMO


I'm a beginner but not unfamiliar with programming, my father tried to teach me BASIC and then later VB (I understood it, but I just wasn't interested in it at age 11/12) and I did a VB course back in HS. I can handle I think terminologies pretty easily as long as it's defined. Obviously if the tutorials just throw terms at me without defining I'll be lost.
If I were to be compared to any of the disciples, I would be Thomas for seeing is believing...Don't just tell me the TRUTH, show me the PROOF...
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Tue May 22, 2007 9:08 pm

I was being serious kinda. All my somewhat technical experience has been with relational databases and their associated front end applications. So that's why SQL came to my mind.

What I am getting at is...how does one get a basis to start learning a programming language? If someone's only experience in computing has been building pc(s), gaming, internet, etc (basically a 'user'), how do they get started (regardless of chosen language)?

Will all decent programming books start out with concepts and help a person understand what a 'program' is, how it's made, tools required, etc, before jumping into the actual language itself?
 
echo_seven
Gerbil
Posts: 47
Joined: Sat Nov 26, 2005 12:31 am
Location: Cedar Rapids, IA

Tue May 22, 2007 9:13 pm

JJCDAD wrote:
I was being serious kinda. All my somewhat technical experience has been with relational databases and their associated front end applications. So that's why SQL came to my mind.

What I am getting at is...how does one get a basis to start learning a programming language? If someone's only experience in computing has been building pc(s), gaming, internet, etc (basically a 'user'), how do they get started (regardless of chosen language)?

Will all decent programming books start out with concepts and help a person understand what a 'program' is, how it's made, tools required, etc, before jumping into the actual language itself?


You sound like someone who would have no problem, if you get pretty much any programming book about the language that you desire, have the compiler/IDE the book is using, and then sit down and follow the examples. Once you get to the point where you can compile your code and it runs, I think its mostly downhill from there.

About the last point--I think usually a book (and usually teachers) will briefly explain what you are about to program--very short--and then walk you by rote through all the steps to compile and run your first program(the infamous "hello world").
Last edited by echo_seven on Tue May 22, 2007 9:18 pm, edited 1 time in total.
 
just brew it!
Gold subscriber
Administrator
Posts: 53714
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Tue May 22, 2007 9:15 pm

JJCDAD wrote:
Will all decent programming books start out with concepts and help a person understand what a 'program' is, how it's made, tools required, etc, before jumping into the actual language itself?

Depends on the audience the book is aimed at. Some books do assume you already know another programming language.
Nostalgia isn't what it used to be.
 
Flying Fox
Gerbil God
Posts: 25542
Joined: Mon May 24, 2004 2:19 am
Contact:

Tue May 22, 2007 9:33 pm

blitzy wrote:
delphi (with object pascal) is an easy place to start, your code actually resembles english :)
That honour of "closely resembling English" is supposed to go to COBOL, but almost any programmer seems to have been brought up to hate it. :lol:

Semper1775 wrote:
To be able to solve my own computer problems without having to take my machine somewhere I guess.
If you are talking about installing GPU drivers, troubleshooting and all that, then you don't need programming. Actually posting on TR forums is better and faster. :lol:

Semper1775 wrote:
Or be able to tweak things maybe?
You are not going to write the next memtest/CoreTemp/RivaTuner just by learning a programming language or two. Specific "close to hardware" knowledge is more important.

Semper1775 wrote:
More importantly write programs for use at work to maximize productivity i.e. be more lazy, ha ha.
In that case then a scripting language would be the place to start, Python, VBScript (I hope not, but on Windows it can be quick and dirty, plus technet has a bunch of script to copy from), and Ruby (just got a taste of it last week, it looks pretty easy as well as a scripting language, and they have OO stuff if you like as well; plus it's also cross platform). Heck, even dabbling with .bat files would be interesting. On *nix, then it will be the respestive shell script.

Semper1775 wrote:
Why wouldn't you suggest c/c++ but Java? Isn't Java based of C++?
C/C++ is too low level as a starter language, as others have mentioned. To do stuff to maximize productivity, say write your own backup script to copy "old" (say, older than a week) files to somewhere on the network, C/C++ is definitely overkill.

Semper1775 wrote:
I'm a beginner but not unfamiliar with programming, my father tried to teach me BASIC and then later VB (I understood it, but I just wasn't interested in it at age 11/12) and I did a VB course back in HS. I can handle I think terminologies pretty easily as long as it's defined. Obviously if the tutorials just throw terms at me without defining I'll be lost.
I hope you just kind of know the terminologies, VB classic IMO can be bad for overall programming health. :D

At least start from C#/Java if you really insist. You may have trouble with some OO concepts though.

Edit: regarding tools, Visual Basic (.NET) Express, Visual C# Express and Visual C++ Express are all free from Microsoft. A bunch of Java tools are also free, as does Ruby and its associated tools.
The Model M is not for the faint of heart. You either like them or hate them.

Gerbils unite! Fold for UnitedGerbilNation, team 2630.
 
FireGryphon
Gold subscriber
Darth Gerbil
Posts: 7724
Joined: Sat Apr 24, 2004 7:53 pm
Location: the abyss into which you gaze

Tue May 22, 2007 9:53 pm

If you really want to learn what makes computers work, learn assembler! :lol: Realistically most programmers don't use assembler, and it's a bit dense, but very fun. Assembler is used for tweaking things that have to be optimized to the nth degree, like some operating system code, and straight hardware programming like you'd do if you were programming a robot. You can start with assembler if you want to be especially hardcore, but instead I recommend it as a side project once you get the general idea of C/C++.

C/C++ is used to make the large majority of programs that you use on a daily basis. Everything from operating systems, to retail business apps, to games is done in C. Not only is C popular, but learning it will give you a solid foundation in programming theory. C is also used in robotics, which is doubly cool. I'd learn C first.

Java and Visual Basic are not as powerful as C/C++, but if you work for a business and the boss wants you to program a small app by the end of the day to do some task, you'll probably do it in Java or VB. Both are versatile and fit in to wide variety of environments, and you'd typically use them if you want to interface with other apps without much work. I suggest learning this after you learn C/C++.

PHP and SQL go hand in hand, but they're very different. SQL is a way of creating and managing databases, and PHP is the code you'd use to program a web page to be the interface with the database. These are cool to learn, but it's not real programming in the sense that you're not making a program so much as an interface and a backend. You can use SQL otherwise, but in the business world, it's quick and easy to combine it with PHP. These languages are very easy to learn, especially once you learn how to program C-style. Learn this for fun after you've mastered Java.

Then there are some miscellaneous languages. Before C/C++, Pascal was the language. It's set up very well, is easy to learn, and you learn good habits by mastering it. You can start with it if you want, but most people want a language that'll get them somewhere in the world, so these days C takes its place (I learned with Pascal, and I still remember it). C# is another misc. language. Microsoft thinks it's the best thing since sliced bread, and it does look like a great hybrid of several popular languages, but I wouldn't go near it at first. I'd also stay away from Visual Basic as a starter language. If quick and dirty business apps sound more fun to you than real apps, I'd start with Java. Visual Basic gets you into some very bad habits as far as programming goes.

Now, as to what you need to start learning, that depends on you, but here's a guide. First, decide what language you want. Don't be fooled, btw, by .NET or any other brand. All you need is a compiler like the ones that come in any Linux distro. Then go to a Barnes & Noble or some other bookstore and grab a couple programming books in your language of choice. Make sure the books aren't geared towards a particular compiler (like .NET) that you don't intend to use. Read the forward/preface, then read a couple of chapters, like the first and tenth chapter, or what have you. You may not understand what the author is saying, but you'll find that some books are written in a way you can understand better than others. Pick the one that speaks to you best...

...and remember to come back here when you get to a command that you just can't make sense of and need some help. :wink:
Sheep Rustlers in the sky! <S> Slapt | <S> FUI | Air Warrior II/III
 
JJCDAD
Gerbil Jedi
Posts: 1867
Joined: Fri Sep 17, 2004 3:11 pm
Location: Is this heaven? No, it's Iowa.
Contact:

Tue May 22, 2007 10:01 pm

@FireGryphon - thank you! That was a very informative post. 8)

Edit: And thanks to everyone else who contributed too. :D
 
bitvector
Grand Gerbil Poohbah
Posts: 3293
Joined: Wed Jun 22, 2005 4:39 pm
Location: San Francisco, CA

Tue May 22, 2007 10:04 pm

Flying Fox wrote:
Semper1775 wrote:
Why wouldn't you suggest c/c++ but Java? Isn't Java based of C++?
C/C++ is too low level as a starter language, as others have mentioned. To do stuff to maximize productivity, say write your own backup script to copy "old" (say, older than a week) files to somewhere on the network, C/C++ is definitely overkill.

Agreed. I think C/C++ are bad beginner languages. I think they're bad general purpose languages and that most apps shouldn't use these languages anymore* (and this is coming from a systems programmer, so it's not from lack of a familiarity).

Look at the intro CS curriculum at top schools. C/C++ have fallen out of favor in most introductory computer science programs at top US universities (but they're still covered, just not right at the beginning). I'd suggest a higher-level language like Python or Java to concentrate on algorithmic thinking rather than losing the forest for the trees. But YMMV. Everyone learns differently.

* Although apps written in C/C++ inevitably keep my friends' security company in business...

Who is online

Users browsing this forum: No registered users and 2 guests
GZIP: On