View Full Version : Programing Languages?
Doobie
18th January 2006, 16:17
Freshmeat (http://freshmeat.net/browse/160/) hosts thousands of programming projects. You can see that C/C++ is easily the king.
C (7888 projects)
C++ (4079 projects)
Compare to C# (217 projects).
How about this measure: When you, the user, downloads a C program, what do you say? Nothing, really. When you download a Java or C# program, what do you say? "This is such a pile of resource-sucking cr*p that I need to upgrade to a quad-processor computer with a few gigs of RAM just to use this program."
How about this worthless advice: "If you don't use VB6 you can't hardly pick something wrong." Gee, thanks for narrowing it down. Or, what's up with, "notice i did not name what languages 'A' and 'B' were ? thats because no matter what languages you put in those spots somebody will argue its merits and i am not interested in doing that." In other words because 90% of advice is worthless that the worthlessness of past advice becomes an excuse for more worthless advice. How about this popular advice I found when I started using Linux, "Which distro? Everyone is suited to something different. Try them out to see which you prefer." Of course, newbie, you'll have to try them each out for an extended period of time to get familiar with them. And, when you become a Linux guru you might actually be qualified to recommend for yourself which is a good choice for when you were first started.
Nematocyst
18th January 2006, 18:36
Heh. Agreed 100%, doobie.
At the risk of offending anybody by actually advocating one isntead of saying something like, "Use what suits you and your career best." I would have to say learn C/C++ at some point. Lots of other languages have their roots there, so picking them up later will be a snap. But beyond that, I would also say: learn to program. Sounds odd, I know, but it's so important to learn how to write software-- well, _design_ actually. If you want a career in software development, you need to learn to design and implement well, irrespective of language. If you find yourself starting a new project in the IDE writing code, then either learn to design it on paper first, or pick another career. Actually, it doesn't have to be on paper really, but the point is you need to plan it out mostly before you even think about writing code.
Personally, I've used C/C++ for well over a decade, and an occasional fling into VB which I absoutely hate. I cringe when I need to use it. And, I think it has resulted in "programmers" writing software who have no business doing so.
Ac3Dc3
18th January 2006, 21:38
thanks for the info pertaining to my question : ) i think ima get in touch with the various instutions and see how much leeway there is on projects etc.
and kis2005, just make sure what ever you choose, you jump into object-oriented programming straight away. work on as many group projects as you can, as group planning, delegation, time-management and teamwork will be paramount in any large project.
and get ready to think outside the box, abstraction can be the hardest part!
dragongodz
19th January 2006, 01:10
Or, what's up with, "notice i did not name what languages 'A' and 'B' were ? thats because no matter what languages you put in those spots somebody will argue its merits and i am not interested in doing that." In other words because 90% of advice is worthless that the worthlessness of past advice becomes an excuse for more worthless advice.
hmm did i call any advice you have given worthless or insult you some other way ? no ? then why do you think you have any right to insult me that way ? i dont give a monkeys rear if you dont agree with my advice for people to think about what their needs are and will be before deciding what language to use but DONT insult me unless you really want to start a fight.
Freshmeat hosts thousands of programming projects. You can see that C/C++ is easily the king.
and lets look at what some of the programs floating around on this board are written in.
HC - Fortran with a little C/C++ for a few parts.
DVD-Rebuilder - Visual Basic (i dont know if jdobbs has mixed any other code etc)
RealAnime - Delphi
yes i can also go and list other programs that are written in C/C++ aswell but the point remains you do not need to use that to write a good program. people should decide what they are going to be writing and also how accomplishing that will be best for them.
maybe if people start listing what the project they have worked on and what they are written in it may be of help to see what people are using for what. i'll even start.
some projects i have been and still am involved in
DVDx - dvd/mpg to avi/vcd/svcd conversion - C/C++
Rejig - mpeg compressed domaijn transcoder - C/C++
QuEnc - mpeg 1/2 encoder - C/C++
Doobie
19th January 2006, 04:33
and lets look at what some of the programs floating around on this board are written in.
HC - Fortran with a little C/C++ for a few parts.
DVD-Rebuilder - Visual Basic (i dont know if jdobbs has mixed any other code etc)
RealAnime - Delphi
The guy using Fortan is probably an old geezer. He's using it because that's what he used before you were born. The guy using Visual Basic looked for something easy when he started programming and no one was around to clue him in. And, look at yourself, you're using C/C++ for your own work. So, why do you refuse to recommend it? My point is that you're not helping someone asking for help when you're throwing up your hands and declaring that someone will defend anything therefore there's no reason to recommend anything.
yes i can also go and list other programs that are written in C/C++ aswell but the point remains you do not need to use that to write a good program. people should decide what they are going to be writing and also how accomplishing that will be best for them.
Sure, you can write a good general app in any language. So what? So, you can do it in C/C++. Yeah, instead of kis2005 asking for advice, he should just try them all, master them all, then he'll know what is best for him. If he said he needed to program an old COBOL computer, or he just wanted the easiest way to make GUIs for command-line apps, or he just wanted to make little applets to run from webpages, he would have said so.
dragongodz
19th January 2006, 05:30
The guy using Fortan is probably an old geezer. He's using it because that's what he used before you were born.
i cant remember hank315's age offhand but do you even know mine ?
The guy using Visual Basic looked for something easy when he started programming and no one was around to clue him in.
hahaha do you even know who jdobbs is or what DVD-Rebuilder is ?
i am curious as to why you didnt say anything about Delphi though. i am sure Sirber and probably others would have been ready to reply about its pros and cons.
And, look at yourself, you're using C/C++ for your own work. So, why do you refuse to recommend it? My point is that you're not helping someone asking for help when you're throwing up your hands and declaring that someone will defend anything therefore there's no reason to recommend anything.
maybe you should try reading the whole post i did. there is plenty of pros and cons posted both on this forum(even in this thread) and elsewhere so i advised him to first decide what his aims where and to then do some research on what the strengths are for the different languages.
i am NOT interested in debating which you think is best and why which is why i didnt name languages. and yes i have seen before where someone will defend a language as being "the best" for anything and everything under every situation etc etc etc. sorry but such zealotry doesnt interest me.
If he said he needed to program an old COBOL computer, or he just wanted the easiest way to make GUIs for command-line apps, or he just wanted to make little applets to run from webpages, he would have said so.
the fact is he didnt say what he was interested in programming so my advice was more general, such as to decide that first of all and then find out the pros and cons of the languages. is that really too hard for you to understand or accept as being reasonable advice or is it just worthless as you have already posted ?
oh and i am still waiting to see your projects list.
Shinigami-Sama
19th January 2006, 05:43
if you want to know my opion
ASM is the best and only language
after all, all compiles drag it down to ASM don't they?
so saying c/cpp/c# java
cobol
php
ect
ect
ect
are a languages are you not talking about mearly a front end for ASM?
foxyshadis
19th January 2006, 06:04
If it can't be written in the C preprocessor, and if those macros don't generate recursive crashes in at least 2 modern compilers, it may not even be worth writing at all.
Shinigami-Sama
19th January 2006, 06:44
wait what where?
foxy wanna clear that up for me? or is there a post missing I"m unaware of?
WEWT 666 posts, been wait'n on that for a while now
hank315
19th January 2006, 17:54
@Doobie
You seem to be very convinced about the superiority of C/C++.
The guy using Fortan is probably an old geezer. He's using it because that's what he used before you were born.
This "old geezer" uses Fortran because most programming I do is for number crunching applications.
But of course in your eyes C/C++ will do a better job for that too...
Doobie
19th January 2006, 19:26
@Doobie
You seem to be very convinced about the superiority of C/C++.
This "old geezer" uses Fortran because most programming I do is for number crunching applications.
But of course in your eyes C/C++ will do a better job for that too...
Ladies and Gentlemen of the jury, notice Mr. Hank doesn't dispute my "old geezer" remark ;). Besides, in my messages, I've been clear that other languages may be better for specialized tasks, it's just that the guy asking for advice identified no such thing. He would have, if he had special needs.
Fortran is an easy language (similar to BASIC) and it crunches numbers fast. That was enough when the alternative was to use COBOL, and early C/C++, back in prehistoric days. But, modern C/C++ compilers can be as fast as Fortan for number crunching, while offering all the other advantages of C/C++. See Blitz++ (http://www.oonumerics.org/blitz/), for example.
Of course, Hank, Fortran is working for you, so I wouldn't dream of telling you to change. But, for a new kid wanting to start programming, I'm not going to recommend Fortran.
Eretria-chan
19th January 2006, 20:26
So there are a lot of languages, and most of them can do pretty much everything. C/C++ is kinda standard, powerful and can most things. Bottom line still is, choose what you will!
I'm using C++, because I like the power it brings me. At first, I think I saw it as a professional language, or something... but that was so long ago. Anyway, what language do you want? Select one that you like!
Trahald
19th January 2006, 20:54
the modern visual basic (vs.net) is not like the old stuff. you can code simple stuff but it can be as modular and oopy as c++. now myself i prefer c++. i personally think the speed benefit is worth the extra learning curve. the *'s and &s make sense after a while. having said that.. with modern processors it ends up that alot of basic apps that are moderately cpu intensive while very disk intensive seem to be on par with the equivelant c++ app. for very cpu intensive applications c++ has the edge.
businesses that need applications often are looking for stuff that works but also develops quickly. i dont mean software companies but traditional businesses that just need custom made applications. as their needs change it needs to be modified quickly or scraped and rewritten quickly. c++ doesnt really fit that build compared to other 'easy' languages.
of course you can follow chuck norris who just codes in straight binary ;)
Doobie
19th January 2006, 21:03
So there are a lot of languages, and most of them can do pretty much everything. C/C++ is kinda standard, powerful and can most things. Bottom line still is, choose what you will!
I'm using C++, because I like the power it brings me. At first, I think I saw it as a professional language, or something... but that was so long ago. Anyway, what language do you want? Select one that you like!
Contrary to what is drummed into our heads every day, discrimination is a virtue and crassness is boneheaded. Doing one thing (e.g. using C++) while saying another thing might also be seen as hypocrisy. And, comments like "choose what you will" and "select one that you like" are just plain worthless.
If you have any sort of authoritative knowledge, don't be afraid to say clearly what you believe. "C/C++ is kinda standard, powerful and can do most things. That's what I use and that's what I recommend."
Trahald
19th January 2006, 21:24
Contrary to what is drummed into our heads every day, discrimination is a virtue and crassness is boneheaded. Doing one thing (e.g. using C++) while saying another thing might also be seen as hypocrisy. And, comments like "choose what you will" and "select one that you like" are just plain worthless.
If you have any sort of authoritative knowledge, don't be afraid to say clearly what you believe. "C/C++ is kinda standard, powerful and can do most things. That's what I use and that's what I recommend."
you are right... i'll ask doom9 to delete all the other posts except for the first one and yours. eh.. maybe even the first one too.. thanks doobie
dragongodz
20th January 2006, 01:59
Ladies and Gentlemen of the jury, notice Mr. Hank doesn't dispute my "old geezer" remark ;).
ah so you know his age now then ? ok let me ask your age before i start calling you a sprout. :D
Besides, in my messages, I've been clear that other languages may be better for specialized tasks, it's just that the guy asking for advice identified no such thing. He would have, if he had special needs.
wow so you agree with my advice that he should decide what his task is going to be before deciding the language but then call my advice worthless. thats some trick for sure.
a question though, are you a mind reader now ? i am guessing you must be since you seem to KNOW he would have said what he wanted to write if it wasnt in general.
I'm not going to recommend Fortran.
nobody is asking you to. however you then do not have any right to complain if somebody suggests a different language or to decide what to use based on what their needs will be.
And, comments like "choose what you will" and "select one that you like" are just plain worthless.
you just seem determined to insult people dont you ?
you are right... i'll ask doom9 to delete all the other posts except for the first one and yours. eh.. maybe even the first one too.. thanks doobie
careful, you forgot a smilie, that may be taken serious by some. ;)
i am still waiting for a project list and maybe some answers to queations i asked in previous posts.
Eretria-chan
20th January 2006, 12:30
Contrary to what is drummed into our heads every day, discrimination is a virtue and crassness is boneheaded. Doing one thing (e.g. using C++) while saying another thing might also be seen as hypocrisy. And, comments like "choose what you will" and "select one that you like" are just plain worthless.
If you have any sort of authoritative knowledge, don't be afraid to say clearly what you believe. "C/C++ is kinda standard, powerful and can do most things. That's what I use and that's what I recommend."
Don't be silly. I used VB at first, and I could make powerful apps that worked well. And I can do the same in C++. Sirber is doing a great program in Delphi. All languages have their advantages and disadvantages, but in the end, you can much accomplish many things with just one language.
So why do I not use VB for my programs? Because after learning C++, it became my favorite language! It is my language of choice - my favorite language.
Doom9
20th January 2006, 13:34
can someone with an IT related degree answer answer this? how important do you think the language they teach for a degree course is?It's not really the language that matters, it's the approach. You can learn object oriented programming with any OO language. Syntax wise, learing a C-style language will ensure you'll pick up the syntax of another (C++, C#, Java, and in a way also PHP) rather easily. Then there's the libraries.. that's where things really separate (unless you're using .NET which supports a variety of languages).
You can see that C/C++ is easily the king.Only trust the numbers you've faked on your own. Sourceforge hosts more Java projects than C/C++ projects, so according to your logic, that would mean Java is the only language anybody should consider learning.
They all have their merits. COBOL/FORTRAN are still used widely in number crunching environments as hank mentioned.. that means large corporations, financial institutions and the likes.. companies relying on sometimes rather old hardware but that just works. At the same time, I've seen financial institutions to use very modern frameworks, like J2EE to achieve things like internet or phone banking.. somewhere behind the business layer are the old mainframe machines, but that's one layer of old and two layers of new.. depending on where you want to find yourself a job, you'll need different skills.
On Windows, there's a huge number of VB programs, like it or not.. and there's VBA that won't go away either. So those VB skills are not for nothing (I don't like the language.. but not liking something shouldn't mean you should turn a blind eye).
If you're aiming for the web, C/C++ won't do you any good.. you'll need to know PHP, Perl, a .NET language, VB (for plain ASP), and a little javascript cannot hurt because some intelligence needs to be placed on the client side.
I started out with Java at university (I knew OO before.. started with Pascal and then a little C++), then the year after we had parallel C and Java courses.. knowing Java meant the C syntax wasn't really a problem so I could get my headache from looking at pointers (I know how it works.. but memory management is the key reason I don't like to use nonmanaged languages unless absolutely necessary). I picked up C# during my thesis (I needed something where I could whip up GUIs easily so I could focus on the internals.. and .NET was available on PDAs and PCs so it was exactly what I needed.. the effort of porting an app that was designed to conserve resources from a PC to its final environment was a breeze).
Then I started working.. and suddenly they had an existing php website that needed some maintenance.. or so things go.
for very cpu intensive applications c++ has the edge. It depends. If it's purely numbercrunching, interate through mathematical algorithms, there's little difference. It also depends on the surroundings.. in video for instance, where everything is geared towards native code, going managed will cost you and slow you down. Similarly, if writing a driver, you have no choice. Slower/faster is often more a product of the surroundings and the compiler/runtime's job than a reflection of how a platform can truly perform.
Doobie
20th January 2006, 19:33
Only trust the numbers you've faked on your own. Sourceforge hosts more Java projects than C/C++ projects, so according to your logic, that would mean Java is the only language anybody should consider learning.
SourceForge (http://sourceforge.net/softwaremap/trove_list.php?form_cat=160)
C (16443 projects)
C++ (17386 projects)
C/C++ 33,839 projects
Java (17594 projects)
Eretria-chan
20th January 2006, 20:06
If you're aiming for the web, C/C++ won't do you any good.. you'll need to know PHP, Perl, a .NET language, VB (for plain ASP), and a little javascript cannot hurt because some intelligence needs to be placed on the client side.
But with Microsoft's IDE, C++ CAN support .NET. Why is it not mentioned? I'd like to understand. Afaik, .NET with C++ does not have any disadvantages.
Doom9
20th January 2006, 20:17
But with Microsoft's IDE, C++ CAN support .NET.well.. okay, but that's managed C++, and you're using the .NET class library, and the server will require ASP.NET (so the .NET runtime installed). Syntax wise, it's the same, but code wise, managed C++ means you're using the .NET FCL.
Naturally, C++ in .NET 2.0, with all the improved interop between native and managed code, is certainly a good thing if you want to go in both directions, but as far as websites are concerned, you'll be restricted to the managed part (which doesn't hurt since native C++ doesn't come with any libs that would make web development bearable).
C/C++ 33,839 projects
Java (17594 projects)Alright, I should've written there are more java projects than C++ projects. But, combining the two is a bit like cheating.. you could just as well combine all .NET languages because they have the same class library, or combine Java and C# because they are so similar that you can pick up the syntax in a day.
dragongodz
21st January 2006, 10:46
Doobie - still waiting. is there any reason you are unwilling to post projects you are or have done some programming with ?
mg262
21st January 2006, 12:29
I've been trying very hard to stay clear of this thread (who needs rule 15 when we can have a perfectly good holy war about geekdom :sly:). But there are a couple of things...
1) The poor unsuspecting OP has been completely forgotten:
I think I'm more confused then I was... Actually since I do have Visual C++.net (actually the Visaul Package) and a few books I'll start there, but since this is for me and not a degree I can look at some of the others as well. I don't want to get to crazy, because I'm not really sure why I want to learn some basics other then for curiosity sake. But I do appreciate the suggestions and any sources or books that anyone can recommend (perferably with projects) would be appreciated.
This is a hard one... a few years ago I was dragged to a bookshop by a friend to find a decent (beginners) C++ book for her; I went through every book there and only found one I was halfway happy with (and unfortunately I didn't write down the name).
(This seems to intimidate most beginners I throw it at... http://www.amazon.com/gp/product/0201700735/002-3636898-1900038?v=glance&n=283155 ... but I'd get it anyway if it fits in your budget; it will stand you in good stead for a very long time, especially the final chapters (especially especially chapter 23).)
(Note to the other inhabitants of Doom9... I am not going to get involved in a flame war about books. So please don't read anything into failures to reply to posts taking this one apart.)
2) kis2005 (again),
I would strongly recommend that you pick something [not trivial and not too ambitious] which you want to build, and try and build it... you will find it a lot more productive than simply playing with lots of examples from books and web pages.
2) is there any reason you are unwilling to post projects you are or have done some programming with ?
A lot of people choose (for whatever personal reasons) to keep their private identity quite separate from their online identity. For many people a large part of their programming will have been done as part of their private life -- e.g. for commercial reasons. But stating something like that in response to this question sounds like a cop-out. So I would personally prefer to keep away from questions like this.
Manao
21st January 2006, 12:40
Another good documentation for C++ is "Thinking in C++" ( freely available as an html documentation, just google it ). It requires, as the author says, that someone else had taught you C and that you have at least a reading level of comfort with it, but once that step is made, it's really great to learn C++, and especially to learn what are the strengths of C++ in comparison to C.
dragongodz
21st January 2006, 13:06
A lot of people choose (for whatever personal reasons) to keep their private identity quite separate from their online identity.
he has not been asked to divulge anything personal that way. do you know my real name from the projects i listed ?
For many people a large part of their programming will have been done as part of their private life -- e.g. for commercial reasons.
and a simple response of something like "i use C/C++ commercially and have not been involved in any public projects" would have covered that quite easily. however neither you or i know if doobie does program commercially or not, let alone if he has helped with any public programs.
But stating something like that in response to this question sounds like a cop-out. So I would personally prefer to keep away from questions like this.
you are not the one calling other peoples posts worthless just because they dont follow your dogma.
it IS a cop-out to post a lot of things like "C/C++ is king" and "a worthless post" etc and then only give sourceforge projects numbers as some sort of justification to that and the insults to other people. go back and look at what his response to what i said HC and DVD-Rebuilder are written in. come on, if he is going to spout that he wants to be able to back it up more than he has so far.
since you gave the link to a C++ book i will throw in one too.
http://www.amazon.com/gp/product/0672327112/qid=1137844887/sr=2-1/ref=pd_bbs_b_2_1/103-7817396-0255066?s=books&v=glance&n=283155
a begginer should not really try to do it in 21 days of course. it is however very exhaustive information wise.
mg262
21st January 2006, 13:26
For the record, I think that calling someone an "old geezer" is completely out of order. I didn't mean to imply that you were the worst participant in this thread, or anything of the sort -- apologies if it read that way.
I have a feeling that that the book you recommend was the book I ended up picking out of the bookshop... though I think it had a white cover with blue writing -- earlier edition?
(I've just noticed that I seem to be unable to count to 3... at least no one else noticed first ;))
Ac3Dc3
21st January 2006, 14:21
i have to second that. the Sams teach yourself books are excellent and that book is on a shelf behind me : )
dragongodz
23rd January 2006, 01:35
I didn't mean to imply that you were the worst participant in this thread, or anything of the sort -- apologies if it read that way.
no i didnt read it that way ... but now that you say it .... ;)
earlier edition?
that link is to edition 5 so yes there were 4 before that.
hmm well looks like we wont be getting any answers. would have been nice to know what kis2005 made of all this debate aswell. :)
kis2005
23rd January 2006, 16:36
What I made out of it??? I always say there are three subjects to avoid or you'll end up in an arguement...now I have to say there is a fourth. I might as well have asked a room full of guitarists what the best guitar or amp was.
But what I did get is that there are more languages out there some of which I never heard of. But then again, I'm a user not a programmer. The best thing for me to do is to play with the software that I have (Visual Studios .Net, VB Enhanced and Dev C++) for now and find some progects to apply them to. I learn better by understanding the main concept of something and then focus on the nuts and bolts of it by applying or doing it. Picture a piramid...start at the top and work you way down. The deeper you go the more complexed it gets. It similar to reverse engineering.
I have to say thanks for the advise, because that is what I was looking for...multiple opinions, I just didn't realize how volatile it was. So thanks again all.
dragongodz
24th January 2006, 01:33
I might as well have asked a room full of guitarists what the best guitar or amp was.
HAHAHA i dont think it was that bad. MOST people were open to the opinion that you could use multiple diferent languages each with their own pros and cons.
The best thing for me to do is to play with the software that I have (Visual Studios .Net, VB Enhanced and Dev C++) for now and find some progects to apply them to.
yes a good idea. try some small projects to see how you feel with them. since you mention .NET, C++ and VB you may want to check this out and try/study some of the projects here
http://www.codeguru.com/
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.