|
|
Dracusis
Maniac (V) Inmate
From: Brisbane, Australia Insane since: Apr 2001
|
posted 03-26-2003 01:00
Well well, it's been ages since I've posted anything in here.
I'm looking for another language to learn. I don't need to acomplish a specific task I'd just like to learn another language. I want to get a better grasp on OO programming as it still seem to have a sketchy concept in this area. Currently I'm looking at C++ and Java, the latter is in front simply because I can use it on the web but with the work I've been doing lately that's becomming less and less important.
Appart from it being OO I also want a language that has a strong ability to manuiplate images and graphics and maybe some 3D stuff too. I know very little about Java's graphics abilties and less again when it comes to C++. Are there any other languages I should be looking into for this kind of thing?
Any advice would be a big help. Thanks.
|
Perfect Thunder
Paranoid (IV) Inmate
From: Milwaukee Insane since: Oct 2001
|
posted 03-26-2003 04:27
I'm fairly curious myself. I'm thinking of learning a serious programming languages, as opposed to the "lightweight" web scripting languages I've been playing with before. I'd originally settled on C/C++ because it seems to be the de facto standard for system-native binary executables -- that is, everything we think of as an "application" or "game." Everything from Photoshop to Quake III seems to be written in C++. But I'd like to know about the alternatives. Perhaps someone could lay it out on the table?
This is where InI's experience would really come in handy. I mean, he'd end up saying "use Java," but he'd also give some reliable talking points for the other languages.
[This message has been edited by Perfect Thunder (edited 03-26-2003).]
|
Tyberius Prime
Paranoid (IV) Mad Scientist with Finglongers
From: Germany Insane since: Sep 2001
|
posted 03-26-2003 08:55
well, Borland Delphi is the nicest enviroment for developing windows apps... but then, the language lacks in some parts.
From the OO approach, I'd advise for java, it is very much a nicer language all around (just think strings, iterations...).
If you really want to do OO, grap 'Sqeak' (google for it) and learn smalltalk. Not that that would be really a usefull real world skill ;-)
|
Perfect Thunder
Paranoid (IV) Inmate
From: Milwaukee Insane since: Oct 2001
|
posted 03-26-2003 13:36
Maybe you can answer a different question, then -- why does everyone use C++? Is it just the same reason everyone uses MSIE: they didn't think about the options?
|
Blacknight
Bipolar (III) Inmate
From: INFRONT OF MY PC Insane since: Dec 2001
|
posted 03-26-2003 14:00
hmm well a friend of mine is learning C-sharp and he says its great and powerfull but i dont realy know its + and - but what i want to say is perhaps also thinking of other languages apart from the standard c++ and java ..but i dont realy know my way round it
visite my Blackbrain
|
bitdamaged
Maniac (V) Mad Scientist
From: 100101010011 <-- right about here Insane since: Mar 2000
|
posted 03-26-2003 17:24
C and then C++ has been the defacto standard language for years now. The nature of Java makes it extremely usefull for many applications (think portablilty) but doesn't yet compete from a performance standpoint (IMHO) for standalone binary applications.
If you want to learn OOP however Java may be the best way to go.
C# is the new Microsoft C++ offshoot which is pretty much MS's version of Java from what I understand.
Anyway these seem to be the big two right now. There's tons of other lanuguages but I'd go with at least one of these. (heck maybe both at the same time )
.:[ Never resist a perfect moment ]:.
|
Perfect Thunder
Paranoid (IV) Inmate
From: Milwaukee Insane since: Oct 2001
|
posted 03-26-2003 17:44
So, for anything which might potentially be pushing the user's computer to its limit -- such as games or graphics applications -- C++ would be a virtual necessity; but for other applications, one has more freedom of choice. Someone who wanted his applications to work on any computer would choose Java; someone who wants to be locked into Microsoft's hardware, software, objectives, and long-range plans -- such as the attempted eradication of open source software, and the formulation of proprietary networks that trade interoperability for a fat Microsoft profit -- would choose C#.
...I'm thinking maybe Java.
|
jiblet
Paranoid (IV) Inmate
From: Minneapolis, MN, USA Insane since: May 2000
|
posted 03-28-2003 21:19
I've done a fair amount of system-level programming in C and OOP in Java, and a little in Objective C. I recommend Java for someone wanting to learn true OOP, because Java represents most of the latest thinking in OOP whereas C++ is really just an ad hoc extension to C that adds a ton of useful features, but is difficult to grasp without a firm understanding of the hows and whys.
Java can be dog-slow because of all the cool things it does automatically, but it makes a very nice language to learn because it is designed from the top down to be a truly OO programming language. It will teach you the benefits of OOP, which are mostly in the realm of code-readability and maintainability (often times more important than raw power). Before you learn C++, you'll want to have a SOLID understanding of C.
C teaches you about memory, performance, and concurrency on a level that simply doesn't exist in Java. If you want to get a firmer understanding of how computers actually work, there's no substitute for C. With C you can write most programs as fast as they would be in assembly (provided you understand assembly and compilers) through direct memory manipulation. Scripting languages like Perl and PHP and very high-level languages like Java are practical tools for building real-world applications quickly, but C and C++ let you dig deeper and truly harness all the computer has to offer.
For learning C, I recommend two steps. First learn ANSI C from a book such as Kelley & Pohl's C by Dissection (Addison Wesley), then learn about Unix programming from a book like Robbins & Robbins' Practical Unix Programming (Prentice Hall PTR). These are just the books I learned from, but there's dozens of good ones. From that point you will be ready to tackle C++.
-jiblet
|
trib
Paranoid (IV) Inmate
From: Den Haag, Netherlands Insane since: Sep 2002
|
posted 03-29-2003 10:13
My preference would be for Java, J++ or C#. They teach OOP without the extra overhead of having to learn about memory management and pointers (neither of which should be part of any OO language anyway). If you aren't an anti-MS purist, C# J++ .NET as a set would be extremely useful in future web development work. If you ARE an anti-MS type, then J2EE is the way to go.
2c ...
Bug-free software only exisits in two places
A programmer's mind and a salesman's lips
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 03-29-2003 12:53
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
Tyberius Prime
Paranoid (IV) Mad Scientist with Finglongers
From: Germany Insane since: Sep 2001
|
posted 03-29-2003 12:57
quote: [...] because Java represents most of the latest thinking in OOP [...]
/me falls of his chair laughing about such an absurd allegation.
Honestly, from a OOP approach, Java is still quite a bit from smalltalk, and that was 30 years ago. It has many advantages, but it certainly isn't 'the latest thinking' in OOP.
See http://c2.com/cgi/wiki?IsJavaObjectOriented for some discussion on this.
Further see http://c2.com/cgi/wiki?JavaDesignFlaws for some Java specific problems.
so l,ng
Tyberius Prime
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 03-29-2003 13:00
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
Dracusis
Maniac (V) Inmate
From: Brisbane, Australia Insane since: Apr 2001
|
posted 03-29-2003 15:07
What's C# and J++ ?... I've never hear of them before.
|
trib
Paranoid (IV) Inmate
From: Den Haag, Netherlands Insane since: Sep 2002
|
posted 03-29-2003 15:58
^ --- Microsoft's other Visual Development languages to go along with .NET framework as well as VB.NET ...
|
Tyberius Prime
Paranoid (IV) Mad Scientist with Finglongers
From: Germany Insane since: Sep 2001
|
posted 03-29-2003 16:43
InI, let me get this straight: I know Java is used quite a lot in the world out there and has it's merrits.
All I said is that it is far from real OOP.
But, please, don't you ever call something that forces one to make tons of (typecasts) 'beautiful' again. For it is not.
Alas, beauty is not a concept necessary for a language's survival in the buisness world, or we'd have to deal neither with Java, nor C in most of it's derivations nor (and here it's getting quite a bit uglier) PHP.
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 03-29-2003 20:54
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
Dracusis
Maniac (V) Inmate
From: Brisbane, Australia Insane since: Apr 2001
|
posted 03-30-2003 09:54
Hmm... Shit ay. I didn't know there were so many variations of the colour black. Anyways, I think I'll give Java another run around the block. I wasn't too impressed with it last time I was playing around with it but eh, that was a while back. C++ sounds a little too big seeing as this is only likely to be a side hobby or sorts, at lest for now.
My main beef with Java is that you need a JVM to run it on... Is there any way you can package a JVM and a Java application into an execuatable package (for platform specific distribution of course) that will install both your application and the JVM, appearing completly invisible to the user?
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 03-30-2003 20:18
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
mirislangweilig
Neurotic (0) Inmate Newly admitted
From: Insane since: Jan 2003
|
posted 04-10-2003 09:22
I work already with c#. This language is just C++ plus OOP and the oddly .Net Framework stuff.
.net is unsecure but this will be solved (hopefully) All this stuff is new and its has his bugs....
but java or c++???
these languages are old wont be updated. In one or two years the development of c# and j++ will be gone so far
that these languages will better, faster and securer. And all this with the best OOP
|
Perfect Thunder
Paranoid (IV) Inmate
From: Milwaukee Insane since: Oct 2001
|
posted 04-10-2003 09:44
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 04-10-2003 10:28
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 04-10-2003 15:32
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
WarMage
Maniac (V) Mad Scientist
From: Rochester, New York, USA Insane since: May 2000
|
posted 04-10-2003 18:22
Now getting back on topic.
I would really reccomend you learn Java first. Java will give you the basic intro into "real" programming (aka applications, gui, etc). It will also teach you how to think programming. Once you spend some time with it you will start to understand the API's and be able to code well, you will then move into optimizations and the like. Java is a pretty easy application programming language. It is in no ways nearly as easy as Perl or PHP, but it does the job.
Once you have gotten Java down, and you understand the rules of java, you have gotten into producing larger applications. You understand how to build larger applications, multiple classes and packages, then you might consider moving into C or C++.
The way I look at it is you want to learn the rules first before you learn to break them. When you code in C or C++ you are offered a whole lot more power, but you can easily misuse this power, and potentially cause a system fuck (If you do program in C++ make sure when you run applications you run them under a user account with very limited privilages, only to a single directory tree would be best). C++ really allows you to break the rules, it offers huge speed gains and massive ammounts of control, which needs to be understood and used wisely.
Any choice you make you will be in for a long while. You can do some basic things with these languages as easy as any other, but it takes a lot of thought and work on your part to develope your skills to a level where you will be a truely useful programmer. I have been working with Java for years and years now, and I am at the cusp of designing large applications effectively (it is easy to do it inneffectively and waste a lot of time).
One thing I would like to stress in this arena as a close. Save everything you do, I mean everything. Keep all of your code well organized and documented. You might not think you will have a use for the Input.java file you developed the other day for some small application, but you will. One day in the future you will end up re-coding it, if you lost it. Make sure to keep the datastructures you develope, back a few years ago I used to code an object-linked list every couple of months, since once I finished the small application I would lose it or remove it, it was only a small piece of code, but everytime I recoded it I would lose time.
Me
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 04-10-2003 22:13
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 04-10-2003 22:26
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|
Dracusis
Maniac (V) Inmate
From: Brisbane, Australia Insane since: Apr 2001
|
posted 04-13-2003 04:35
Arr, yeah, ok. I think I'll give Java another run around the block. Thanks for the info everyone, muchly appreciated
[This message has been edited by Dracusis (edited 04-17-2003).]
|
InI
Paranoid (IV) Mad Scientist
From: Somewhere over the rainbow Insane since: Mar 2001
|
posted 04-20-2003 22:04
The poster has demanded we remove all his contributions, less he takes legal action.
We have done so.
Now Tyberius Prime expects him to start complaining that we removed his 'free speech' since this message will replace all of his posts, past and future.
Don't follow his example - seek real life help first.
|