which language should i learn?

Any other programming language that is not covered in the Web Scripting category.

which programing language should i learn as my first?

delphi
3
6%
c++
9
20%
visual basic
4
9%
java
7
16%
assembly
4
9%
other
16
37%
 
Total votes : 43

which language should i learn?

Postby fishpoo222 on Wed Oct 05, 2005 6:37 am

which programing language should i learn as my first? (I know some dark basic (www.darkbasic.com)(bit useless) Very Happy )
if ive missed any good ones please say[/url]
fishpoo222
Regular
Regular
 
Posts: 104
Joined: Tue Oct 04, 2005 5:12 pm
Location: reigate,surrey,england

Postby mm_freak on Wed Oct 05, 2005 12:50 pm

I'd suggest learning Basic, but not Visual Basic, as the first language. It helps understanding the ground concepts of programming. And then I recommend that you have a look at many languages, most notably C and C++. Learning assembler helps a lot to understand how the computer works, but it's rather useless in practice. At least for application programming.

If you want to learn C++, learn C first! You'll save yourself a lot of time and nerves.
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Postby al_tyranny on Wed Oct 05, 2005 9:50 pm

Python is a very good language, and it's eas(ier) for beginners to pick up because of its clearly-defined syntax and methodology (don't ask me what a "methodology" is though =P). But don't think it's just "for beginners"; it's a very stable, high-level language that can be used for pretty much anything you can think of. Comparing the same program in C/++ and Python, it's obvious which is more beginner-friendly:

Code: Select all
// C++
#include <iostream>
using namespace std;

int main()
{
    cout << "Hello, world\n";
    return 0;
}

---------------------
# Python
print 'Hello, world'


I'm not really into GUIs , but I've read that Python has made GUI programming a little easier than what's available in C/++, even with the Qt libraries (see here for sales pitch).

mm_freak is dead right about learning C/++ though; it's pretty much a necessity to know it.
mm_freak wrote:Slackware users are dreamers. Sorry to say.
al_tyranny
Phoenix Veteran
Phoenix Veteran
 
Posts: 294
Joined: Tue May 17, 2005 3:18 am
Location: Greater Boston Area

Postby mm_freak on Fri Oct 07, 2005 5:33 am

You can't compare scripting languages with compiled languages. Python is designed to be worked through linearly, as such small programs are really small. C/C++ have modular design (in terms of functions and (in C++) class methods).

Hello world in C/C++ is a lot larger than in Python, but a database server or a game cannot even be written in Python. At least not practically.

Also Python is not a good starting point in my opinion, because it enforces the coding style of the designer of Python. You don't get freedom in indentation, spacing and similar. You will program like Python wants you to program - and no other way. If he ever wanted to learn a real programming language, he would have a lot of difficulties stepping off from Python.

One more thing: C++ doesn't force you to use the I/O-stream classes. Normal C-code with classic C-functions does also work. I hate those C++ streams. =)
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Postby bart416 on Fri Oct 07, 2005 6:29 pm

mm_freak wrote:You can't compare scripting languages with compiled languages. Python is designed to be worked through linearly, as such small programs are really small. C/C++ have modular design (in terms of functions and (in C++) class methods).

Hello world in C/C++ is a lot larger than in Python, but a database server or a game cannot even be written in Python. At least not practically.

Also Python is not a good starting point in my opinion, because it enforces the coding style of the designer of Python. You don't get freedom in indentation, spacing and similar. You will program like Python wants you to program - and no other way. If he ever wanted to learn a real programming language, he would have a lot of difficulties stepping off from Python.

One more thing: C++ doesn't force you to use the I/O-stream classes. Normal C-code with classic C-functions does also work. I hate those C++ streams. =)

Actualy you can write anything in just about anything.
You could actualy write a webserver in php and run it from command line Razz
Not practical indeed, but it would work.

In the case you explain i think php would be better for him.
PHP has some points in common with C and C++
It would learn him some basic stuff that he needs to know for programming. (like debugging and cleaning up code) In a not so dangerous part. PHP can't realy harm your comp, but believe me. C or C++ can. And with Assembler its totaly wacko dangerous, write to one wrong addres and you can be doomed Razz

Anyway, learn this way:
html 4.1 transitional
css 2
xhtml 1.0 transitional
xhtml 1.0 strict
javascript
PHP
Java
(Python, maybe but java owns python bigtime actualy Razz )
Delphi or Pascal
C / C++
ASM

if you follow that path you go from high level programming languages to low level programming languages.

(high level is rather easy compared to low level)
Don't make the same mistake like me by jumping from php immediatly trying to learn Assembler/ASM, you get tired of that crap piece of junk that can do just about anything realy fast.
bart416
Valued Member
Valued Member
 
Posts: 164
Joined: Fri Sep 30, 2005 6:50 pm

Postby al_tyranny on Fri Oct 07, 2005 8:26 pm

mm_freak wrote:You can't compare scripting languages with compiled languages. Python is designed to be worked through linearly, as such small programs are really small. C/C++ have modular design (in terms of functions and (in C++) class methods).


Python fully supports OOP and modularity. And Python is not just for writing "tiny programs" either -- you can easily create quite large programs as you could with any other language. And as for small programs being "smaller" in Python than other languages ... don't you think it might be better for a beginner to have less places where he can screw something up (no offense, fishpoo222)?

mm_freak wrote:Hello world in C/C++ is a lot larger than in Python, but a database server or a game cannot even be written in Python. At least not practically.


Just take a look at pygame, Spyce and Zope if you don't think Python can handle these tasks.

mm_freak wrote:Also Python is not a good starting point in my opinion, because it enforces the coding style of the designer of Python. You don't get freedom in indentation, spacing and similar. You will program like Python wants you to program - and no other way.


Yes, Python requires you to indent your coding. You sacrifice a little control over that part of your programming style, but you gain a lot more in ease of reading/understanding what's going on -- everything is logically separated into little groups of code.

mm_freak wrote:If he ever wanted to learn a real programming language, he would have a lot of difficulties stepping off from Python.


What? Python is somehow not a "real language" in the way that C/++ is?
mm_freak wrote:Slackware users are dreamers. Sorry to say.
al_tyranny
Phoenix Veteran
Phoenix Veteran
 
Posts: 294
Joined: Tue May 17, 2005 3:18 am
Location: Greater Boston Area

Postby davix on Sat Oct 08, 2005 11:05 am

First of all I would recomend reading this http://htdp.org It will help you started with the basic of programing, after you finish it, I believe you have enough tools to decide which language you wish to learn, but anyway as basics I recomend C and python.
Long live and prosper.
davix
Newbie
Newbie
 
Posts: 18
Joined: Sat Oct 08, 2005 9:29 am
Location: Israel

Postby GrimBlasPhemy on Mon Nov 07, 2005 8:01 am

I voted Java
it was the first real programming language I learned, it's not that hard and you can do a lot with it.
Plus, the step to c++ isn't that big when you know Java

grtz
GrimBlasPhemy
Newbie
Newbie
 
Posts: 10
Joined: Mon Nov 07, 2005 7:26 am

Postby genchev on Mon Nov 07, 2005 4:18 pm

c++ coze you'll learn something that will help you in real life to pay your bills.
And if you're interested try also shell and delphi.
Good luck.
User avatar
genchev
Contributer
Contributer
 
Posts: 51
Joined: Sun Mar 13, 2005 2:32 pm
Location: Bulgaria

Postby mm_freak on Tue Nov 08, 2005 2:17 pm

I could start flaming now, but it's not worth it.

Anyway, if you decide to learn C++, learn C first.
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Postby nene on Wed Nov 09, 2005 11:47 am

i was visiting a secondary school where we were first programing in Pascal and went on with C/C++... I dont know but if you ask me Pascal helped nothing apart from understanding programing as itself... So if you dont have any programming experiance at all i think it will be quite hard to program C/C++...
Image
nene
Regular
Regular
 
Posts: 128
Joined: Wed Apr 13, 2005 10:24 am
Location: Slovenia

Postby bart416 on Wed Nov 09, 2005 7:57 pm

nene, pascal is the worst thing to learn.
Its unlogical compared to C and C++
I would write something rather in assembly then in Pascal.
thats how mutch i hate it since i started learning it...
bart416
Valued Member
Valued Member
 
Posts: 164
Joined: Fri Sep 30, 2005 6:50 pm

Postby mm_freak on Thu Nov 10, 2005 7:35 am

bart416 wrote:nene, pascal is the worst thing to learn.
Its unlogical compared to C and C++
I would write something rather in assembly then in Pascal.
thats how mutch i hate it since i started learning it...


Pascal is very similar to C in terms of syntax, but the semantics are different. For example, you use begin..end instead of {..}. So if you don't like Pascal, you shouldn't like C/C++, too.
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Postby Vlad# on Thu Nov 10, 2005 11:13 pm

I'd recommend you learn either C# or Ruby as a first - they are both "productive" languages and have a good demonstration of all high-level programming principles. If it's low-level programming that you are after, then nothing beats C++ (or C or if you really want Assembler)

Python is also a good language to learn, as is Perl 6
"This statement is false."
Vlad#
Newbie
Newbie
 
Posts: 2
Joined: Thu Nov 10, 2005 10:57 pm

Postby mm_freak on Tue Nov 15, 2005 1:17 am

Vlad# wrote:I'd recommend you learn either C# or Ruby as a first - they are both "productive" languages and have a good demonstration of all high-level programming principles. If it's low-level programming that you are after, then nothing beats C++ (or C or if you really want Assembler)

Python is also a good language to learn, as is Perl 6


Didn't you say that you have coding experience? How come that C++ is low-level? How come that C is in any way related to Assembler? And do you really recommend Perl to beginners?
I'm x^10 + x^8 + x^5 + x^4 + x^3 + 1, so don't mess with me!
mm_freak
Moderator
Moderator
 
Posts: 635
Joined: Sun Sep 11, 2005 12:29 pm
Location: Baden-Wuerttemberg (Germany)

Next

Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest

cron