PDA

View Full Version : C\C++ useless??



Brain Cell
10-23-2004, 08:38 PM
We've been talking about programming languages we learn in college today and most of the students agreed that C\C++ are obsolete. I couldn't convince them that they are not because i don't have enough knowledge on this topic , but i know that C\C++ wouldn't hang out that long if they were obsolete.

Here are some of the lines from the discussion we had. please let me see your comments on them if you know enough about this matter :

- We should not learn C\C++ , we only study how to make console program and no company would want a console program to work on these days.

- they say C++ is powerfull and can make a GUI program with some work, Why wasting time when languages like VB can do the same programs with less effort?

- Yea C\C++ can be use used to make operating systems... but when we talk about software then people rather use an easier language that does the same work without consuming much time.


i myself almost got convinced with those lines. I wouldn't quit learning C\C++ no matter what. I just wanna know if they're true or not.

So what do you guys think?


(if this has been discussed before then please link me to the thread because i couldn't find anything related)

JaWiB
10-23-2004, 08:45 PM
I'm fairly certain this has been discussed before, but I don't want to bother searching :)

Anyways, there's no way C++ is obsolete. From what I've heard, VB can be a good tool to make quick applications, but it doesn't have the same power/efficiency. And for games, C/C++ is often the first choice

I can see how C++ might not be the best tool for every job, but there are some things its probably the best tool for. And I think the professional C/C++ programmers here wouldn't say that it's obsolete :P

Govtcheez
10-23-2004, 08:59 PM
Firstly, there are only a couple languages that can accurately be called obsolete. Hell, my dad still programs in COBOL at work.

Secondly, your classmates don't know what they're talking about. They sound like their only concern is to make a pretty program with a GUI instead of something that can do more than what VB has to offer.

Finally, I don't care how obsolete those morons think it is, it's still an excellent idea to know as many languages as possible. When you actually get into a job, you usually don't get to pick what you program in, and the more varied your background is, the better.

Perspective
10-23-2004, 09:07 PM
- We should not learn C\C++ , we only study how to make console program and no company would want a console program to work on these days.


ROFL. This one just about had me on the floor. There are countless industry apps that are console based. (though many have additional or third party GUI apps that run on top of them)

How bout:
-Oracle, MySQL, PostgreSQL (DBMS')
-Apache, JOnAS, Tomcat, JBOSS (App/Web servers)
-MATLAB (yes, the available GUI is an additional tool. The app itself is usable from the command line)
-Countless number of Linux tools
-etc....

Thantos
10-23-2004, 09:13 PM
- We should not learn C\C++ , we only study how to make console program and no company would want a console program to work on these days. Theres more to C/C++ then a simple hello world console program. Theres a reason why the majority of modern computer games use C++. Also there is networking, file i/o, and even pure number crunching.


- they say C++ is powerfull and can make a GUI program with some work, Why wasting time when languages like VB can do the same programs with less effort? I have yey to see a 3 dimensional mind blowing program written in VB.


- Yea C\C++ can be use used to make operating systems... but when we talk about software then people rather use an easier language that does the same work without consuming much time.What? An operating system IS software. Lets see you write an OS in VB or Java.

In reality it comes down to WHAT you are doing. If I'm doing some simple database work using a SQL server I'd much prefer to do it using PHP on a webpage then to write a socketd sql client and GUI interface. That doesn't mean C/C++ is dead.

Darkness
10-23-2004, 09:31 PM
- We should not learn C\C++ , we only study how to make console program and no company would want a console program to work on these days.


A guy who works at my university helps with the software used to test ballistic missiles for the military. It runs on a 512 G4 processor computer cluster across the river from where I am at. A typical cycle takes half a month to run, and the output is in the form of what basically looks like a few thousand 10x10 matrices describing what happened to the missile at various points on the body at various points in time. The 'application' has no GUI and is completely in what you call 'console mode', although to be honest the environment/OS is unlike anything I've ever seen anyway (I don't know what the hell it is). Point is, whoever you were talking with should change their opinions on basically every count.

EDIT:
and if you wanted to know more about the missile :) :

The missiles being tested fly at some 6,000 mph, and subsequently they cannot attach fins to steer it. Instead, they fire little jets on the side of the missile, which induces a torque which changes the orientation of the missile. The problem is that the exhaust from the missile spirals off creating pressure differences along the body. These tiny pressure differences create a net force and torque on the body, sending it spiraling out of control. They are testing ways to change this.

novacain
10-23-2004, 09:34 PM
>>And I think the professional C/C++ programmers here wouldn't say that it's obsolete

C/C++ is not obsolete but I would put them on the endangered list.
This is IMHO due to outsourcing. Small local firms can not afford the manpower/time/cost to meet the ISO standards (their offshore counterparts can).


As such most development (here) is web based these days and uses .NET more and more. This means C# or VB.NET is a better/easier/more popular choice.

C jobs here are non existant (except those for embedded apps). C++ jobs are rare compared to .NET. C# / ASP.NET are becomming more common and better paid (if you have experience).

I'm hoping to be paid a fortune in ten years to maintain these 'obsolete' applications used as a front end for large machines. ie BHP still uses WIN95 as some wheel grinding machines run only on that platform.

But if the property market keeps increasing at nearly 40% per year I won't have to work.......

Rare177
10-23-2004, 09:58 PM
if they are complaining about learning console then i dont see how there planning on learning much..jumping straight to say win32 would be very confusing, once you know console you can go on and learn win32 or mfc or what ever.

alphaoide
10-23-2004, 10:00 PM
just head to jobtrak.com, or monster.com, and the like and do search with c/c++ keyword and see the reality out there

Brain Cell
10-23-2004, 11:15 PM
Finally, I don't care how obsolete those morons think it is, it's still an excellent idea to know as many languages as possible. When you actually get into a job, you usually don't get to pick what you program in, and the more varied your background is, the better.
totally agree..


Theres a reason why the majority of modern computer games use C++.
aren't the gaming industry switching to Java? i heard this once and i've been wondering..


C/C++ is not obsolete but I would put them on the endangered list.
i hope this is not real ... such a scary fact


btw... stupid question but .. you can make a GUI program in C\C++ without the visual C++ software , can't you?? just making sure ;)

Thantos
10-23-2004, 11:33 PM
Yes, OpenGL being just one of the many graphics libraries

VirtualAce
10-24-2004, 12:28 AM
The company that I work for is a major manufacturing firm and you would not believe the operating systems and computers they are using. Fact is most companies don't upgrade nearly as fast as home users do. If they can make a profit on old technology then why should they change it. Besides upgrades often do come with extended periods of downtime as the company irons the kinks out of it for its use. This downtime combined with the cost of upgrading the systems is one major reason companies stick with what they have. They would rather spend money on trying to improve their existing system than buy a brand new one, at least in the manufacturing field I work in.

Some of our most important systems are still DOS-based. Some of the source code for it is written in 16-bit C and assembler and runs in real-mode only. Hate to say it, but for 24/7 round the clock operation DOS or UNIX is the way to go. Windows has too much crap going on in the background to remain stable forever - theoretically it should work, but it doesn't. Our newer systems are run off of 2K and they have crashed at least 20 times during the time that the DOS system crashed once. If you only need to run one program over and over and over you really don't need a multitasking OS. Many manufacturing systems do one thing over and over and over 24/7/365 and single task OS's are the best at running those types of programs.

So no C/C++ is not dead and everyone is not moving to new .NET technology. There was an article awhile back that stated MS has realized that everyone is not going to move to .NET like they thought and they are re-evaluating their C++ compilers and re-evaluating how companies use it and what they need and don't need. The .NET extensions are not what every company needs.

Don't get caught up in all the hype. Our factory runs on over 20 year old technology and it does just fine.



aren't the gaming industry switching to Java? i heard this once and i've been wondering..

PC Gamer had a blurb about this some time back. Sun envisions a time when all games will be written in Java. There are two major games in development right now. Personally with the information that I know about game development, shaders, etc., I think Sun is full of hot air. I just had to re-learn another assembly language as well as another hybrid of C just to do pixel shaders and vertex shaders. Also it looks as though new pixel shaders will use C++ features such as classes and polymorphism etc. I see the game industry moving in the direction that very little code will be written for the CPU and more of it will be C++-like and moved to the GPU and/or other video card GPUs.

face_master
10-24-2004, 12:37 AM
btw... stupid question but .. you can make a GUI program in C\C++ without the visual C++ software , can't you?? just making sureYes, its called the Win32API

jverkoey
10-24-2004, 12:57 AM
grrr, it seems the common view on "C++ going obselete" always comes from people who have just started Java and have been fried in the head from sun's, dare I say, propaganda, or from people who really haven't worked in any field and are just trying to sound cool like the rest of everyone else.

Honestly, I myself haven't worked as a programmer professionally as of yet (I hope to in the future) and I'm not blind to see that languages like Java and C# are becoming a bit more prominent all the time, but I also think it's bull$hit that people think Java and other languages are so much better than C/C++ that C/C++ is going to go obselete.

For one thing, games are becoming more and more intense all the time, what with halo 2, halflife 2, doom 3, and all the other new 3D FPS engines coming out, I sure don't see any Java-based games pulling anything like that off that's for sure. Games are always requiring more and more power, and languages like Java which focus more on memory handling and cutting out features that limits the programmer's power just so things can be made quicker doesn't help the process at all.

I read in an article a little while back published by the AP test board (I think) that was stating the reason for the AP Testing switch from C++ to Java, and in it they constantly compared to C++ in it and always in a negative way. I was just getting more and more annoyed as I read on.

Meh, so yah, I may not have much to back my opinion off of (me still being in high school and such), but it just plain annoys me to constantly hear from people saying how much better Java is than C++, or asking which language is better, or why people shouldn't use C++, *shakes fist*

Use the language best suited for your task!

</rant>

Prelude
10-24-2004, 09:33 AM
>- We should not learn C\C++ , we only study how to make console program and no company
>would want a console program to work on these days.
Um...I work on console programs for a living. Well, more or less. None of my work involves graphics. For the most part I handle back-end processing and the console is my haven for debugging. Tell the person who said this that programming isn't always about pretty pictures.

>- they say C++ is powerfull and can make a GUI program with some work, Why wasting time
>when languages like VB can do the same programs with less effort?
Languages like VB are wonderful for the areas in which they are suited. A GUI in VB is fine, but a complete application in VB will suffer from performance issues and bloat. Well designed software will often use different languages for different parts because no one language solves every problem the best.

>but when we talk about software then people rather use an easier language that does the
>same work without consuming much time.
See my previous comment. Nobody in their right mind would write a complete application in VB or another "faster" language unless it's just a prototype.

Zach L.
10-24-2004, 09:39 AM
Yeah, there is much more to a lot of software products than a nice little GUI (which in some cases is best written in Java, VB, etc, and in some cases, something like C++; by the way, you can use cross-platform GUI libraries in C++, which, for their Windows implementations use Win32API under the surface, but your program never sees that), and those are often best written in languages other than those one would use for rapid GUI development. C/C++ is not dead. FORTRAN is not dead. Ada is not dead. They have their uses, even though you may not see them popping up on the average person's home computer.

jverkoey, yeah, the College Board is on crack. When I downloaded the AP classes in C++ several years back (which I refused to use except during the test itself; I just used STL the rest of the time), I remember apvector.cpp included apvector.h which included apvector.cpp. :rolleyes: No wonder that test isn't highly regarded.

no-one
10-24-2004, 09:46 AM
these discussions are just stupid in my opinion, different languages have different purposes, some do some stuff better than others... C/C++ will never die, even if by some fluke everybody stopped using it right now there would be so much legacy code C/C++ programmers will be in demand for an eternity.

C/C++ will also alway be in use because they(specially C) are small, fast, flexible, and reliable, the new languages cut out to much control, and are way to OO focused, and are top heavy... they have thier place, but to say they will replace something they technically cant fully replace is... dumb... the only thing C/C++ lack is RAD tools...

C is the perfect language C++ is an excellent add-on... they both need a standard library update...

edit:: my teach explained when we asked about ap* classes they they were made before the STL was there... and besides they are far simpler for new students to digest than the freakin STL. could you imaging being in like your 6th or whatever week and having to learn concepts from the freekin STL? doubt many would get past the first 20 lines before they had a break down and started crying in frustration... being your probably way ahead of your class it's gonna seem way easier for you.

edit::

>
it seems the common view on "C++ going obselete" always comes from people who have just started Java and have been fried in the head from sun's, dare I say, propaganda,
<

the propaganda comes from all around, remeber when .NET and C# came out?

its all just a sales pitch... what can you say... the more that believe it the merrier...

Hermitsky
10-24-2004, 09:55 AM
more and more coder turned to java.....

Govtcheez
10-24-2004, 09:57 AM
more and more coder turned to java.....
And?

Darkness
10-24-2004, 11:40 AM
In a way it doesn't *really* matter what language you use. Ideally, the actual language you use is trivial, and that the real work is done by understanding your typical computer science algorithms, and being able to implement things like searching and sorting algorithms, or mathematics pertinent to your project, or coming up with ways to efficiently design algorithms such that they run as fast as possible, etc.

Of course that is a gross over-generalization, especially as how languages like Visual Basic have very specific purposes in mind and you'd have a hard time doing, say, scientific research programming with VB.

caroundw5h
10-24-2004, 12:43 PM
Languages come and go like everything else but C permanence in the software world is a testament to its usefullness. I would venture to say over 85% of the worlds software and or languages was developed from C. C++ and Java included. They are simply tools to make developers lives easier. None is better than the other, none is eternal. As a programmer - if your under a deadline - you use what language gets the job done in a timely and efficient manner.

Here (http://www.workopolis.com/content/fasttrack/technology.html) is a link. click on anyone one of the links and you'll see a myriad of languages being asked for. Some more prevalant than others. Some you will be surprised to C.

C/C++/JAVA probally isn't going away anytime soon. Developers - people who make languages and abstract programming for dumb endusers - will always need these low level languages for various reasons.

This topic is so tired in that it's almost irrelevant. A language is just symbolic code to move bits. Don't fall in love with the language, fall in love with the science of it, the beauty of our progression and human capabilities. C is a wonderful language IMHO, but it is merely a dialect to talk to bits, there could have been something more ubiquitous in its place, but there isn't...for now.

You might want to check out these articles for further reading. Article one (http://archive.gamespy.com/legacy/articles/devweek_b.shtm) , The hundered year language (http://www.paulgraham.com/hundred.html), language Comparisons (http://www.paulgraham.com/fix.html) , Great hackers (http://www.paulgraham.com/gh.html) , Unscientific pole of the current popularity of some languages. About right anyway See it here (http://www.tiobe.com/tpci.htm).

And yes you can code GUI apps in C++ without M$ VC++. Its called Wxwidgets (http://www.wxwidgets.org/).
p.s. those morons from your class are just that...morons. :rolleyes:

JaWiB
10-24-2004, 12:50 PM
Some you will be surprised to C.


That made me laugh ;)

Zach L.
10-24-2004, 01:17 PM
Where does that figure of 85% come from?

gcn_zelda
10-24-2004, 01:23 PM
74.559879438798% of all statistics are false.

Govtcheez
10-24-2004, 01:48 PM
Where does that figure of 85% come from?
Likely made up, and likely very wrong.

Scribbler
10-24-2004, 01:49 PM
- they say C++ is powerfull and can make a GUI program with some work, Why wasting time when languages like VB can do the same programs with less effort?

Obviously you're dealing with people who want to be able to develop wicked cool applications without actually knowing how. Kinda like somebody who expects to pump iron for less than a week and instantly look like Mr. Universe. I'd like to hear their reaction to the suggestion that they should also get some education in Assembly as well as C/C++.

Perhaps to help them better understand the importance, explain to them that That is the mentality that defines the difference between 'Script Kiddies' and Coders. And wish them luck on their future careers.

Edit, just found This Article (http://www.devsource.ziffdavis.com/article2/0,1759,1632223,00.asp) in another recent thread on this forum. While it doesn't have a whole lot of info... it IS related to the topic at hand and serves as a decent starting point in your quest for more information.

Govtcheez
10-24-2004, 01:57 PM
> And wish them luck on their future careers.
As managers.

Zach L.
10-24-2004, 03:51 PM
Likely made up, and likely very wrong.
Yeah, that was my thought. I wanted to give him the benefit of a doubt, though.

caroundw5h
10-24-2004, 04:51 PM
Likely made up, and likely very wrong.

Possibly, I can't remeber where I got that stat from honestly. Didn't want to mislead anyone. Any documentation as to actuall numbers?
Keep in mind this isn't saying the application was created from Just the C language but possibly some derivative of it as well. but again....*shrug*

exluddite
10-24-2004, 11:32 PM
I agree with the idea of a "dead language" being a bit silly. Hell, I've been picking up books from Ebay, thrift stores, etc. on PL/1, ALGOL, BASIC, ADA , and just about any older language that I can find. I do this for two reasons:First of all, I like history. If I get into something I inevitably want to learn the history behind it. Secondly, it makes sense to me to have an idea of how these things developed.
Somewhere in the English dept., as you were listening to someone whining about "why can't I just use Java and VB and not C++ and assembly" there was someone complaining about having to know latin and greek word roots.

VirtualAce
10-26-2004, 11:39 PM
See my previous comment. Nobody in their right mind would write a complete application in VB or another "faster" language unless it's just a prototype.


Actually I know a company that switched their new state of the art app from C to VB simply because C was more complicated and more involved in the dev stage. Now that they have released it and it is god awful SLOW - no one wants to use their new toy. Another lesson learned. Dev time/money is only ONE of the factors you take into account when creating an application. When it becomes the end all be all of the decision, it's likely the end product simply won't be up to snuff.

Philandrew
11-03-2004, 11:42 PM
Maybe I'm wrong in looking at it like this...but I look at using Visual Basic as similar to using Frontpage to make a website.
Sure it gets the job done, but 99% of the time the people with pure code fully understand what is happening compared to the people letting the program [Frontpage] use it for them.

Note: 77% of all statistics are made up on the spot. These are two examples of such.