Forum Moderators: open

Message Too Old, No Replies

Making a Vital decision

Calling all Programmers!

         

Skylo

8:15 am on May 28, 2003 (gmt 0)

10+ Year Member



Hi everyone. I need a word of advice. I have to make a decision about studies in the next few days. Frankly I want to go into programming but with so many I need to know what in the opinion of the forum is the best language to study.

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

sullen

8:20 am on May 28, 2003 (gmt 0)

10+ Year Member



Go for C.

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.

dmorison

8:23 am on May 28, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hey,

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!

mil2k

3:32 pm on May 28, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



You want to go into programming. Web programming is a bit different than Application programming. The difference is being slurred by the introduction of Architectures such as .Net .

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 :)

webdevsf

3:44 pm on May 28, 2003 (gmt 0)

10+ Year Member



If your program is worth its salt, you will be studying C and Java (as well as Lisp, prolog and C++ among others) You will learn a lot about computers and hardware by studying C, you will learn a lot about software and design by studying Java.

Good luck, and make sure you have a steady supply of Jolt!

requiem

6:48 pm on May 28, 2003 (gmt 0)

10+ Year Member



Hello Skylo!

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.

Skylo

6:02 am on May 29, 2003 (gmt 0)

10+ Year Member



Wow thanks guys that already makes me more confident about choosing a path.
More advice though would be more than welcome;-)

requiem

4:15 pm on May 30, 2003 (gmt 0)

10+ Year Member



If you would like to do some real programming
you will discover that it is all a matter of
design and algoritms. If you plan to take a
college course, just choose any introductory
programming, if you don't have any background in
matematics it would be vice to take a course in
discrete algebra before your first real programmin
course (where you start analysing and implementing different algoritms). In the job marked you would also
want to have some background with databases and networks.

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.

kaled

12:37 pm on May 31, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



If you are planning on learning programming at Uni/college and want to get a head start before the term starts, then check out the borland.com

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.

jim_w

1:21 pm on May 31, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



As dmorison said, it’s not so much about language, but about Computer Science. Because no matter what language you learn, it could be dead in a year. Look at Fortran Cobol, not nearly as widely used today. Once you have basic things down like logical structures, loops, link lists, input and output, then you can make a choice of language. I did and would start with BASIC. (Beginners All-purpose Symbolic Instruction Code) It is the easiest and most forgiving to learn.

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.

gsx

2:50 pm on May 31, 2003 (gmt 0)

10+ Year Member



Personally, I would recommend the other way around, learn C or C++ first. It will take some time to learn, but once you have a good understanding of C, other languages will seem so much easier (except for assembler language - which takes a whole logic of it's own).

trillianjedi

2:53 pm on May 31, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Have to disagree with Jim_W about BASIC - it offers poor structure and will make learning other languages confusing. Unless you're talking about a modern OO interpretation of the language like Visual Basic?

Agree with the others though - C or lisp, then onto an OO language such as C++.

Good luck!

TJ

Glacai

3:02 pm on May 31, 2003 (gmt 0)

10+ Year Member



Hi Skylo,

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!

jim_w

4:24 pm on May 31, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



trillianjedi

Unless you're talking about a modern OO interpretation of the language like Visual Basic?

That is exactly what I was talking about. It depends on if they want and/or need useful programs right away. Because VB syntax is also used in VBA, the language used by Word, Excel and Access, they can get productive programs up and running much faster. I didn’t even think that there was any BASIC interpreters still around. But it has been a really long, long time since I used an interpreter.

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.

georgeek

4:52 pm on May 31, 2003 (gmt 0)

10+ Year Member



If you are doing it for the money then in my opinion a master of either VB.NET or C# will command big bucks over the next few years.

If you are doing it for fun with nothing commercial in mind Prolog is great fun!

jim_w

4:56 pm on May 31, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Prolog, I had to learn to think backwards.;-)

requiem

5:35 pm on May 31, 2003 (gmt 0)

10+ Year Member



georgeek wrote:

"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.

Glacai

5:54 pm on May 31, 2003 (gmt 0)

10+ Year Member



jim_w hope you don't mind if I disagree on a couple points...

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

7:35 pm on May 31, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



jim_w hope you don't mind if I disagree on a couple points

of course not.

Surely its best to learn programming efficient code from the start?

Don't call me Shirley. I just love that line and have to work it in where ever I can, and that's not easy.

...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.

Glacai

9:44 pm on May 31, 2003 (gmt 0)

10+ Year Member



Totally agree jim_w its all about what language that person works with best and which they find most natural to them.

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.

jim_w

9:33 am on Jun 1, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Maybe I'm doing my link lists wrong, but I didn't think you needed to use pointers to use link lists

To clarify, I have used link list in languages that don’t have pointers like ‘C’. I have a tendency to not be very clear on the points I try to make. :-(

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? ;-)