|
-
Oct 25th, 2002, 04:43 PM
#1
Thread Starter
Hyperactive Member
what should i learn?
Ok... i know vb fairly well and want to move on. Preferably into the linux programming and more advanced windows languages. What would be better for me to learn, c, c++, C#, or any other languages? Any recommendations would be greatly appreciated.
-
Oct 25th, 2002, 05:33 PM
#2
Monday Morning Lunatic
Depends. I'd say learn C++.
PS: Linux is a kernel. You mean POSIX (i.e. Unix) programming
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Oct 25th, 2002, 06:01 PM
#3
C# is not yet well supported on POSIX systems, so if you want to do that you'd rather go for C or C++. The mono project is speeding along nicely, but it won't ever reach the full power of the native POSIX environment.
C++ has basically replaced C, so go for C++. You should be able to read C code though (but that usually is simple once you know C++).
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 25th, 2002, 06:08 PM
#4
Thread Starter
Hyperactive Member
so c++? is it able to work on both windows and linux computers? If i compile it to both os'.
-
Oct 26th, 2002, 12:02 AM
#5
Fanatic Member
As long as you don't use any OS-specific functions, then yes.
Alcohol & calculus don't mix.
Never drink & derive.
-
Oct 26th, 2002, 06:46 AM
#6
Monday Morning Lunatic
Originally posted by MXAlPhA
so c++? is it able to work on both windows and linux computers? If i compile it to both os'.
Unix, not Linux.
And as Wynd said, yes.
If you want graphics, OpenGL can handle that in a portable way, and there are frameworks such as SDL which can handle it very nicely.
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Oct 26th, 2002, 10:26 AM
#7
Thread Starter
Hyperactive Member
kcoo... i'll look into c++ a lil more lata.
-
Oct 26th, 2002, 06:50 PM
#8
Junior Member
I'm a big C fan, although i don't have much C++ experience. It seems that C++ is slowly replacing C though, so go for that.
-
Oct 26th, 2002, 08:55 PM
#9
Thread Starter
Hyperactive Member
tru... i need something that will still b around in a decade, when i hopefully start finishin up skool
-
Oct 27th, 2002, 04:02 AM
#10
Monday Morning Lunatic
Nobody knows whether they'll still be around in 10 years' time. They might be, if not, we just move quietly to the next thing that comes.
The important thing to learn is the problem-solving mindset, and ability to analyse the situation and divide it up into manageable chunks. Once you can do some of that, a lot of the time the language is independent of the problem
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Oct 27th, 2002, 07:04 AM
#11
Fanatic Member
Originally posted by Zaffir
I'm a big C fan, although i don't have much C++ experience. It seems that C++ is slowly replacing C though, so go for that.
I would support that view. Learn C if possible just for the sake of getting started right. But then move on to C++ because (as Zaffir points out), the whole thing seems to be headed that way.
-
Oct 27th, 2002, 08:08 AM
#12
I think it's better to start with C++, and learn C later if you really need to optimize some code. C will teach you a lot of coding practices that are considered bad (or even evil) in C++. If you learn C first, learning proper C++ will be very difficult.
-
Oct 27th, 2002, 08:14 AM
#13
twanvl is completly right. There is this quote:
C++ would be a decent teaching language if we could forget the C part and only teach the ++ part.
Forgot by whom.
10 years is a VERY long time in computer terms.
And don't misunderstand parksie (on a naming rampage, huh?), when he says "Unix, not Linux" he just points out that GNU/Linux is compliant to the POSIX standard, which s a programming standard for Unix systems. Anything written for POSIX will most likely run on every Unix system.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 27th, 2002, 08:19 AM
#14
Fanatic Member
Originally posted by twanvl
I think it's better to start with C++, and learn C later if you really need to optimize some code. C will teach you a lot of coding practices that are considered bad (or even evil) in C++. If you learn C first, learning proper C++ will be very difficult.
Maybe we people are different, but I absolutely HAVE to disagree. I learned assembly first (believe it or not), but then moved to BASIC... what a blessing. Then I moved on to C++ and later C and Pascal.
Looking back at it ... I think the best start for me would have been C, then Basic, then Pascal, and then C++ (the assembly is a totally different universe).
-
Oct 27th, 2002, 08:26 AM
#15
Just look at jim mcnamara. He mostly codes in C, and whenever he writes C++ code some C things sneak in in there. His C is excellent, but his C++ is bad from an OOP point of view. (no offense jim)
If you learn C first you'll get into habits you should not have for C++. It's better (and even easier) to learn C++ and OOP first.
And unlike C++, C is slowly starting to die.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 27th, 2002, 02:35 PM
#16
Thread Starter
Hyperactive Member
what do they use in colleges? I'm now a sophomore taking a vb class and next semester, i was supposed 2 start c++ but since the ap computers exam was changed to java, i will be starting java. In colleges.... does it matter what you use, what is more popular?
-
Oct 27th, 2002, 05:19 PM
#17
Monday Morning Lunatic
Originally posted by HaxSoft
Maybe we people are different, but I absolutely HAVE to disagree. I learned assembly first (believe it or not), but then moved to BASIC... what a blessing. Then I moved on to C++ and later C and Pascal.
Looking back at it ... I think the best start for me would have been C, then Basic, then Pascal, and then C++ (the assembly is a totally different universe).
If you know C, Pascal and BASIC are nothing to you. You'll get tired of their deficiencies within minutes.
What do they use in colleges? Some ****ed-up version of the language, usually involving the AP classes. Meh.
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Oct 27th, 2002, 05:28 PM
#18
Glad to head the ap exams were changed to Java, the ap classes simply sucked too much. If they had been using real classes then I'd be sad, but not now.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 27th, 2002, 08:37 PM
#19
Thread Starter
Hyperactive Member
bump for what they use in college?
-
Oct 28th, 2002, 04:39 AM
#20
Fanatic Member
Originally posted by parksie
If you know C, Pascal and BASIC are nothing to you. You'll get tired of their deficiencies within minutes.
Yes, there is some truth to that.
-
Oct 28th, 2002, 09:24 AM
#21
Junior Member
Originally posted by parksie
[B]If you know C, Pascal and BASIC are nothing to you. You'll get tired of their deficiencies within minutes.
Agreed. I'm taking a Visual BASIC class in school (hey, it's a blow off, and i can become more familiar with the visual studio interface, which kinda scares me right now), and i write half of my programs in C simply because i HATE how limiting BASIC can be.
-
Oct 28th, 2002, 10:34 AM
#22
Addicted Member
I'm basically a C programmer who has had to learn C++ and Java etc. for my degree and for work etc.
If you learn C first you will find you look at C++ projects and try to make them more like C. If you're doing really OO stuff, you'll find that the code gets b*stardised into a ugly mess of C and C++. Over the years I've managed to 'sort of' untangle the mess, but its still difficult.
As for VB - The first couple minutes were great - "wow look how easy this is". Then it became rather annoying. Unfortunately my job requires that I get experience in pretty much anything and everything which includes VB.
Just my point of view.
HD
-
Oct 29th, 2002, 04:59 PM
#23
Member
not all the colleges use screwed up versions of the language; where i go they start you off right away with managed c++.net
the only problem is they don't always have the right order of things, ie sometimes teaching advanced concepts b4 you learn much code
ps i'd go with c++ of some form, i think it'll still be around for a good while, especially if ms keeps adding/editing it (although that might not be such a good thing)
What does "formatting drive C..." mean?!
-
Oct 29th, 2002, 05:11 PM
#24
Monday Morning Lunatic
MS have no control over C++. That's the responsibility of ISO, who are somewhat bigger in general clout than MS is, because they're not just limited to computing
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Oct 30th, 2002, 11:47 AM
#25
not all the colleges use screwed up versions of the language; where i go they start you off right away with managed c++.net
Managed C++ IS screwed up.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
-
Oct 30th, 2002, 12:32 PM
#26
Monday Morning Lunatic
It's only screwed up if you don't understand what it's doing behind the scenes. I for one don't have much idea how to use it, but I never bothered (don't want to -- if I wanted to use .NET or Mono I'd use C#, much easier language).
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Nov 1st, 2002, 02:37 AM
#27
Fanatic Member
I would like to add to this whole thread, that no matter how much control you want (and C/C++ will give you that, let alone assembly), you should never forget that obligation grows with control.
I always try to write as much code as absolutely possible in Visual Basic, because it is easy, it is fast enough, and it is very "safe". HOWEVER, if there are problems thet demand heightened security or performance, I switch to C/C++ and write a DLL for those purposes.
With VB, you get a limited amount of options and less potential error sources. With C/C++, you get full control and very many unchecked holes, so C/C++ is a responsibility you accept.
Learn as many languages as possible, but first and foremost; learn not to get religious about any of them. Learn to distinguish a VB task from an Assembler task, and a Java task from a C task.
Incidentally, there is nothing good or bad about OOP. It is not better or worse than anything else. It is merely a ZEN in it's own right. When the time is right; use it. When the time is not right; avoid it.
Just my 0.02 US $
-
Nov 1st, 2002, 03:21 PM
#28
Thread Starter
Hyperactive Member
Originally posted by HaxSoft
I would like to add to this whole thread, that no matter how much control you want (and C/C++ will give you that, let alone assembly), you should never forget that obligation grows with control.
I always try to write as much code as absolutely possible in Visual Basic, because it is easy, it is fast enough, and it is very "safe". HOWEVER, if there are problems thet demand heightened security or performance, I switch to C/C++ and write a DLL for those purposes.
With VB, you get a limited amount of options and less potential error sources. With C/C++, you get full control and very many unchecked holes, so C/C++ is a responsibility you accept.
Learn as many languages as possible, but first and foremost; learn not to get religious about any of them. Learn to distinguish a VB task from an Assembler task, and a Java task from a C task.
Incidentally, there is nothing good or bad about OOP. It is not better or worse than anything else. It is merely a ZEN in it's own right. When the time is right; use it. When the time is not right; avoid it.
Just my 0.02 US $
very intriguing
-
Nov 1st, 2002, 03:25 PM
#29
Monday Morning Lunatic
I'm stuck with the fact that I can't use VB because it's not portable. Even a Windows program in C or C++ is portable to another machine, you just need to change round some of the interface -- most of the logic can be copied directly.
But in general, yeah. I didn't much care for VB but it was excellent for making DB frontends, I never found anything faster.
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Nov 2nd, 2002, 07:40 AM
#30
transcendental analytic
OOP is bad. However if you want to make money, then OOP languages are probably a good choice. C++ is screwed up. Programming in C++ is a painful compromise between lowlevel performance issues and design issues, two paradigms that are complementing each other, but confuses all but the most experienced programmers, C++ is everything but clean.
Use  
writing software in C++ is like driving rivets into steel beam with a toothpick.
writing haskell makes your life easier:
reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.
-
Nov 2nd, 2002, 10:13 AM
#31
Thread Starter
Hyperactive Member
what do you guys mainly use then?
-
Nov 2nd, 2002, 10:31 AM
#32
transcendental analytic
C++ 
Use  
writing software in C++ is like driving rivets into steel beam with a toothpick.
writing haskell makes your life easier:
reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.
-
Nov 2nd, 2002, 03:57 PM
#33
Junior Member
Originally posted by kedaman
OOP is bad. However if you want to make money, then OOP languages are probably a good choice. C++ is screwed up. Programming in C++ is a painful compromise between lowlevel performance issues and design issues, two paradigms that are complementing each other, but confuses all but the most experienced programmers, C++ is everything but clean.
Zactly. C++ code seems to come pre-obfuscated.
-
Nov 2nd, 2002, 07:17 PM
#34
Monday Morning Lunatic
C is worse for obfuscation. You can do some lovely stuff with that
I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
-- Linus Torvalds
-
Nov 3rd, 2002, 10:12 PM
#35
Junior Member
Originally posted by parksie
C is worse for obfuscation. You can do some lovely stuff with that
Well, i don't know about worse, but it can be pretty bad too. It just seems that C++ begs to be hard to read, while C is like that only if you're lazy.
-
Nov 4th, 2002, 05:01 AM
#36
No, not really. Bad C++ code is harder to read than bad C code, and it is harder to write good C++ code than it is to write good C code, but good C++ code is usually more readable than good C code.
All the buzzt
 CornedBee
"Writing specifications is like writing a novel. Writing code is like writing poetry."
- Anonymous, published by Raymond Chen
Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|