Forum Moderators: open
I really want to do java programming. It seems cool and most of you in the forum seem to know java(well the programmers at least). I hear though that there is not much you can really do with it. What I mean is that most of the programs made today are made using C.
I need advice to what might be the best one to do.
Cheers and Happy Surfing
C is quite similar to Java, but as you say, much more useful. It's also a very good "starter" language - once you know C well, you'll be able to learn other languages in about 10 minutes.
On the other hand, VB is easier to code than C (being more forgiving). If you have no experience of coding at all, I would consider that (but again, C is more useful).
good luck with it anyway.
Getting into programming is not so much about studying one particular language, but about studying the theory, concepts, background, machine architecture etc - i.e. "Computer Science".
If Java is something you really want to learn then i'd say go for it - passion is a necessary ingredient of being a great programmer (as opposed to just a good programmer!)
Buy a book with some good examples, use the web to search for tutorials and just dive in and have a go.
I would start here:
[java.sun.com...]
Download the software, look at some of the examples and start coding! There are tutorials and all sorts on that site - just spend a couple of hours looking round.
Good luck!
If you are going for application development you might want to decide what type :- You can go for either Rapid Application development like VB or learn language like C or C++ which give you more control.
If your aim is to have some fun with reverse engineering or Cracking then learning Assembly is of great help IMHO :)
If you want to learn web programming then there is VBScript and Javascript (Note that Javascript and Java are two different things). But what i have seen mostly is Guys out here use PHP, Perl, CGI scripts more.
If you are more confused after reading this post then think and decide what is the future market you are looking at and make an appropriate decision. HTH :)
Good luck, and make sure you have a steady supply of Jolt!
What language to start out with depends on your background.
I really think that LISP is the most straight forward beginner language, and once you master the basics of LISPs you will have valuable experience even if you choose not to use that language later on. When you know how to program in only takes a week to learn a new programming language. The thing is to just choose the righ language for the task at hand. If speed is important C is a good choise. Java is vert portable, Lisp and proglog is often used in cognitive sciences and linguistics etc. So the best advice is: Just learn how to program (if it is is Java, C, Lisp is less important), then learn the languages you need.
The very best of luck.
If you just want to do some programming for fun on your free time, just buy one of those "Teach your self .... in
21 days" books, they are great.
When I was a fulltime programmer I only worked with Java,
but Lisp gave me the introductory understanding of programming.
As I said before, the best of luck.
I believe several older packages are available as free downloads (ok if you have broadband).
As for choice of language. C is loved by C-programmers and no one else. Pascal (Delphi) is easy. Java is probably going to die off because of .NET from Microsoft (but I wouldn't bet my house on it).
Personally, I use Pascal (Delphi). Like most Pascal programmers I hate C. The advice I gave to a friend of my sister's worked out well. I told him to use Delphi to learn the basic concepts (it's easy to get started) and then move quickly on to C (because that's what industry wants most). He'd been unemployed for years but now, having followed this advice and done some night-school classes, has found a good job.
If you learn VB first and then C, you’ll then be ready for JAVA, JAVAScript, and PERL. The structures in the latter are very similar. You can create application with VB for the WEB or desktop and/or databases fairly easily, so this may give you more ‘bang-for-the-buck’
You can do more with assembly, personally I liked the ‘inline assembler’ that was in QuickC, a for runner to VC++, so that I could do some assembly if C was too slow. Of course I go back so far that I have done a limited amount of machine code. Machine code is what you want to really stay away from.
I have also found that one language is usually not enough for larger projects. For years I have had to have C libraries or DLL’s to supplement what ever language I used.
Agree with the others though - C or lisp, then onto an OO language such as C++.
Good luck!
TJ
I'd go with C as well. I found it a very easy 'starter language' and an excellent foundation for learning or just playing with other languages. Although I do think a course that teaches the basics of various languages first would be best, you can then advance in the one you most naturally take to, which is the most important thing. I'm sure in the end it really comes down to how competent your algorithms are rather than the language used.
From a biased C-programmer that loves C.
Good Luck!
Unless you're talking about a modern OO interpretation of the language like Visual Basic?
I just can’t imagine using ‘C’ and making calls into the API and not understanding what happens if you call an API sub without the null terminating string, a string that is too long, etc. before you know what a len() statement is. Using VB, they can make it as hard or as easy as they need. The can start with not defining the variables and then turn the switch to make more efficient code by forcing variables to be defined for example.
‘C’ is great, but I personally would not want to start learning about link lists and controlling them before I understood about arrays. VB by default starts the arrays at one instead of zero, which I think is easier for someone learning to understand what is going on. Most of learned to start counting from one. Actually the hardest part maybe to learn the user interface of what ever compiler they choose. With all the different switches. VB has fewer switches. And lets not forget what I spend ¾ of my time doing, implementing workarounds for the bugs in the compilers.
Isn’t BASIC a ‘pre-req.’ in Universities for ‘C’? It use to be anyway. Of course VC++ is much easier to learn than MS ‘C’ 5.1, which is what I learned with. That and the Windows SDK 3.x. What a nightmare that was. 1 computer, 2 monitors, and you had to toggle between CodeView and Windows.
"If you are doing it for fun with nothing commercial in mind Prolog is great fun!"
The Prolog community is rather small, mostly AI, logic and linguistics people. I would not recomend Prolog as a first language unless it is the language used in a programming class. For most other living programming languages the community is much larger and more instructional material is available.
The can start with not defining the variables and then turn the switch to make more efficient code by forcing variables to be defined for example.
Surely its best to learn programming efficient code from the start?
I personally would not want to start learning about link lists and controlling them before I understood about arrays.
I doubt any course or book would teach pointers before arrays and even if they did you wouldn't necessarily need to know about arrays to understand pointers and use linked lists.
VB by default starts the arrays at one instead of zero
...one of the main causes of the fall of the Roman Empire was that,
lacking zero,
they had no way to indicate successful termination of their C programs.
-Robert Firth-
Sorry I love that saying! Anyway, zero is a fundamental part of computers and programming, I can't see the sense in ignoring this even when just starting.
Regards.
jim_w hope you don't mind if I disagree on a couple points
Surely its best to learn programming efficient code from the start?
...one of the main causes of the fall of the Roman Empire was that,
lacking zero,
they had no way to indicate successful termination of their C programs.
-Robert Firth-
I never head that before.:-)
I don't think it is about language. I think it is about computer science. And what ever works best for the person needing to learn it. Depends on how much they can cope with, what they are using it for, and how many times they want to reboot their computers.;-)
Maybe I'm doing my link lists wrong, but I didn't think you needed to use pointers to use link lists.
I didn't know you could do a linked list in C without pointers. Normally each structure points to the next and/or previous (if doubly linked) element allowing you to dynamically insert or remove elements from any position within the list, this allows it not to be a fixed size as in a normal array.
Maybe I'm doing my link lists wrong, but I didn't think you needed to use pointers to use link lists
It comes from old age, too much coffee, and physiological problems from doing this stuff way too long! Some call it being burned out, or is that a 70’s thing? ;-)