Hi everyone,

I just came home from a software conference in nagoya, Japan
where they had any kind of software you can think of on this planet.
There was one talk i went for and i think its quite interesting to have it discussed fully here. Alot of the companies there all said the c language is now nothing more than a relic and dying a slow death and that the new Java 2 has already taken over c programming.

To my personal opinion i think the speaker is more or less right because myself knowing both c and java, i am using c lesser and lesser and more people or companies and even software customers are insisting tht the developers use java for simple tasks which can even be perfomed by c.

Then i sat back and thought for awhile that i remembered that when i was doing programming in c++ just to have the c++ system to display the entire system fonts in a combobox was a headache and took a least 200 lines of code but when i used java 2 to do that same exact task and also displaying
the system fonts in a combobox it only required me to write 40 lines of code and it was a breeze.

Basically what i think is that the c language has had a good run but nothing lasts forever. Even when i consult most developers they say that the c language is slowly dissapearing. When i started looking at the programming architecture of the new java 2 swing they had at the conference, i became more convinced that the c language has come to an end.

Java swing has been able to create so many products such as web browsers, alot of other applications and yes even an operating system which i tried and its program execution speed is twice that of windows and its very user friendly. The operating system is not out yet but should hit markets in the middle of 2005.

Being very interested i asked their chief engineer how they managed to develop this and he said this was possible as java tends to become self realiant. He then told me that by the end of this year any applications made in java will not depend on anything on the windows operating system thus having its own common controls and not even using the windows.sysytem.forms.ocx controls. Then i asked him what about the kernel. He said the kernel can be created using asm or simply using free dos programs such as freedos but also to distribute them freely.

well i really hope some of you guys would comment on my posting here and make this a very fruitful discussion for everyone to enjoy

Thank You

Yours Sincerely

Richard West

Comments
sigh, 2004. back when we thought "certainly Bush won't be re-elected." and then Janet Jackson's nipple came back with a vengeance.

You still need to think about this from the user end, alot of people hate java applications as they look ugly and are resource hogs (at least the old java was, not sure about java 2)

I know i dont want more programs to be done in java, which seem slower to me.

*Yawn*

We are managed languages. Developers, you will be assimilated. Resistance is futile.

For those of us simple of mind would you care to explain that :cheesy: in simpler terms?

Thanks, BuddyB

*Yawn*, me too.Who cares ???.We will have to use what ever the policy making companies shove at us.Yup it's quite too the OpenSource is only open before money comes in.It's like water,can dissolve anything given enough time.Brrr

<b>Resistance is futile.</b>

Nah......,You can do that till you are dead :D,and even then you can leave followers to do your work.

So after you are gone,what do you care :D .

hi everyone,
Firstly the first java was not that good but apparently after seeing things first hand for the new java 2. The thing about open source is that it is not like dissolving things in water because what you are talking about is market saturation which is no body ever gets tired of getting free software or at least reasonably priced ones and this has nothing to do with any policy but about change.

When you have been doing something for decades you tend to realize that change is inevitable. And why yawn just like all those people who criticised the early dot com boom.

I remember those times when a lot of guys were telling me Richard why don't you get into the boom. In and out fast but all i did was yawned and i am still working while all those other guys are now staying in two storey bungalows with three cars with pools.

Maybe my putting up this post is for you guys to learn a mistake made by an oldie like myself and prevent yourselves from making these same mistakes. Its easy to criticise but not easy to do something and maybe when you're gone you hope someone to refer to you as that person who created free enterprise and not just another developer.

Always think out the box as the world is not as forgiving as you think. Creativity is not overated

Yours Sincerely

Richard West

thats all true ... I've heard about a java operating system too that is coming by the mid of 2005 ... it is really fast .... more and more people feel java a very easy language to learn ... like me ... I learned c++ first and then java ... and now I only program in java .... or some little programming that is system dependent ... I do it in c++.

For those of us simple of mind would you care to explain that :cheesy: in simpler terms?

Thanks, BuddyB

A managed language is something like Java or Microsoft .NET (C#, VB.NET, etc).. they are managed by a virtual machine, and programming on them is not operating system dependant. You don't need to worry about allocating memory, saving files in the OS's native format, etc...

C++ out, java in????????????
I see Bjarne Stroustrup(hope i get the spelling correct) burning in jeolousy.:p

But, it's actually hard to believe...;)

And I would like to add something from Stroustrup's website too....about c++ emerging with its new look...

What will C++0x look like?

I don't know. C++0x will be the outcome of a multi-year standards process that seriously considers the needs of the diverse parts of the C++ community - the discussion about directions for the (2005?, 2008?) revision of the ISO C++ standard is just starting. The C++ standard will remain stable for a long while yet, and the language will remain stable even longer because compatibility is always a major concern.


My personal view is that the key principles should be

  • no major changes to the language itself
  • major extensions to the standard library

The changes and extensions should be chosen to make C++ a better platform for systems programming and library building, and to make C++ easier to teach and learn. Clearly, we will have some discussions about the meaning of "major" in those sentences.
-------Bjarne Stroustrup

So, like what's going on? I just started to learn C++ a few weeks ago. Umm! What's the deal. I don't wana learn it then just have to throught all of thoses hard days of work down the toilet. AHHH! I have absolutly no idea what the heck is going on!

hi everyone,
You do not have to worry tusky as java syntax is similar to C++

Yours Sincerely

Richard West

Hello,

It is spelled beans.

And no, your efforts to learn C++ are not going to go to waste. You should be learning coding style, learning that comments are just as important as the actual code, and learning about data structures and algorithms. Perhaps even efficient code... there are many ways to do things.

Continue to grow with C++. You might not ever master it, but you will learn a lot of things from it.

Christian

In my latest issue of InfoWorld, there is a great column written by Tom Yager. It'a a great read:

Title: Efficiency can be lost on code snobs: So many problems don’t get solved because we overthink the project

At my local Ace hardware store, circular saws sit near the registers to tempt impulse buyers. When Ace sells you that saw, they’ve also got you for blades, safety glasses, and handy little accessories. But Ace isn’t the only beneficiary in this “sell the saw, sell the store arrangement. Simply having the saw turns some neglected, avoided projects into adventures. For the buyer, the saw is an inspiration: “Get the saw, fix the house.

The circular saws of software development are dynamic languages such as Perl, Python, PHP, and JavaScript, as well as RAD (rapid application development) tools such as Visual Studio. The better of these allow you to leap straight to solving problems without paying your dues by learning the underlying OS, low-level APIs, and networking architecture. There’s no studying of patterns, models, or methods. It’s like buying lumber, nails, and a saw without deep study in the properties of wood and fasteners. A carpenter would be aghast that you’re not an expert at operating a handsaw. A true developer will gossip about you for using a PHP database class without knowing much about how the database on the other end works. Both will warn that you’re courting disaster.

We’ll always need expert tools, structured processes, and people who can ply both to create bulletproof apps. But we also need tools that allow us to attack projects that would otherwise be out of reach. In modern computing, the limit of one’s reach is marked by the limit of one's understanding of the platform and user environment. For a large class of applications, that need not be so. Most of the problems we solve every day aren’t nearly as complicated as popular tools, languages, and frameworks.

I’m reminded of the near-miracles I’ve worked in JavaScript and shell scripts, and even in quick-and-dirty C or C++. I’ve knowingly made things harder for myself by setting aside these tools as cheats, shortcuts suitable only for prototyping. As I look at my straining bookshelves of volumes on .Net and Java, I’m reminded of the vast numbers of problems I haven’t approached because I insist on using the right tools the proper way. Being a code snob has distinct disadvantages.

Look, a fence made by a first-timer is a successful project if it remains standing and looks presentable; it’s better than letting the old fence rot because it’s more of a job than you can handle. Just go buy your saw. Read the safety instructions, buy a little more lumber than you need, and pick up one of those skinny Time Life books about home repair and improvement.

Technique and process are irrelevant unless your point is to impress someone who does for a living what you plan to try. Given sufficiently fast computers, prototypes that work to spec are potentially deployable applications. One project that helped restore my perspective is an administrative tool I created for OS X Server. It allows me to send magic packets to machines in my lab while I’m on the road. The right way would have been to write this entirely in Cocoa, Apple’s native framework. The next best way would have been to write it all in Java. I’m sure I could have used AppleScript, a language that I cannot describe in publishable terms. Maybe I should have used Java. In the end, I wrote a shell script that calls into AppleScript for its GUI. It worked the first time. Now I’m heading for that fence. I’m on a roll.

hello everyone,
One thing to note is that when are i read the thread in the computer science section about what the .net framework is i feel that the posters there seem to be describing java. Once a good friend of mine told me that microsoft's .net
framework is nothing but a ripoff of java. Well that's my opinion

WHAT DO YOU THINK???????

ps. I do not hate or have anything against microsoft

Yours Sincerely

Richard West

Microsoft .NET is simply Java written how it should have been written ;-).

No, actually, there are some major differences between the two. To start off, Java is a language, and Microsoft .NET is an application framework. In fact, you can compile java code to Microsoft .NET have them run as native .NET applications.

About the original topic: Languages are long lived and possibly immortal beings. There will always be C++ somewhere. Don't forget our Y2K fears about that ancient dino Cobol.

Have you tried programming with Java and Eclipse's SWT? SWT GUI apps are actually quite comparable to native C++ programs. Java doesn't have to be slow, ugly, or a resource hog.

Check out Eclipse (http://eclipse.org) and see if you can believe it's a java program.


Ed

You still need to think about this from the user end, alot of people hate java applications as they look ugly and are resource hogs (at least the old java was, not sure about java 2)

I know i dont want more programs to be done in java, which seem slower to me.

i told my dad what the guy said about C++ dyin a slow death and he laughed his ass off, and thought it was the funnies shit he had heard. hes been coding for oooo since he was about 20, and hes in his late fourties now, so when he heard that he was laughing soo hard becaus he knows that java could never beat out C++, he explained it better than i can right now, but if i can ill get him to say it again, because all his points were valid and good and probably would make a better impact then anything i could say.

Hey, I'll bet my dad can beat your dad up...

Anyways, I'm glad I read this because I was undecided as to which subject to take a course on between the two respective subjects discussed in this thread, and I've decided to go with C++ first.

I think C++ has been always kind of dead. The only major software i can think of that was written in C++ is Mozilla and Qt (Even though major implementaion of these software was rendered in C). I don't know why people like C++ so much, when you can achieve object oriented design through C. GTK and Gnome are perfect examples of that. Plus a lof of people still prefer writing code in pure Win32 API rather than messy MFC.

True object orientation cannot be achieved without a true Object Oriented Operating System.

What about the development of videogames?

You can develop video games in any language out there. Heck, you can write it in JavaScript if you'll write a compiler for it. The key developing method in modern video games is accessing Video Hardware through series of interrupt calls via pure assembly. As long as you do that, you can lay any language on top of your hardware code.

Any modern operating system does not know what Class or an Object is.
Every code that is loaded in memory is represented as such: Text segment (that's what the C functions are), Stack (local variables in C), and the Heap (dynamic memory - whatever is allocated via malloc() and such). This program set-up can't get any more perfect for C (or any other procedual language - not C++, Java or C#).
In addition all core OS service libraries (Kernel32.dll or libc.so in Linux) were made to be used with C primarely. OpenGL API is also made primarily to be used with C. Qt, KDE, (and whatever the hell else written in C++) all lay on top of the X Windowing system which is a C language API. Even .NET stays on top of the Win32 API.

I can't wait till someone will write an OS Kernel in C++. (Please don't mention anything about the "Choices" operating system")

Hi everyone,

I just came home from a software conference in nagoya, Japan
where they had any kind of software you can think of on this planet.
There was one talk i went for and i think its quite interesting to have it discussed fully here. Alot of the companies there all said the c language is now nothing more than a relic and dying a slow death and that the new Java 2 has already taken over c programming.
...

I am looking for any kind of numbers that proof this right or wrong. Does anybody know about a (citable) study that shows numbers like,

- the estimated existing code base (lines of code)
- the estimated number of developers
- the estimated number of projects still beeing developed in C/C++
- ... anything else that can be used to compare the importance of C/C++ and Java in the "real world".


Anybody an idea where I can look for such a study?

Regards

Daniel Lohmann

I'm a free lancer who knows many different languages, and to be honest I find languags like Java to be VERY overated. Making GUI's in Java is a headache and well, if you want the whole portability thing with your program, QT has a great API thats portable on almost any system, and processing time is not sacraficed.

As a free lancer, my job is to get things done fast, good-looking, and efficiently. The language is your tool, sometimes you need a screw driver, some times you need a hammer. I devloped many projects for Mac, Linux, and windows, using common API frameworks such as QT. After Learning Java, I have yet to really use it on a project.

One thing is for sure though, it dosn't matter hwo you get the job done, as long as it gets done on time!

I think C++ has been always kind of dead. The only major software i can think of that was written in C++ is Mozilla and Qt (Even though major implementaion of these software was rendered in C). I don't know why people like C++ so much, when you can achieve object oriented design through C. GTK and Gnome are perfect examples of that. Plus a lof of people still prefer writing code in pure Win32 API rather than messy MFC.

True object orientation cannot be achieved without a true Object Oriented Operating System.

your joking right?? lol C++ already kind of dead. ill laugh really hard at that. then remind you that most everything is writtin in C++, not just one webbrowser.

This question has already been answered. Start a new discussion instead.