What are some good coding languages to learn(like perlscript etc.)?
What are the used for?
What are some good coding languages to learn(like perlscript etc.)?
There is a litle known ActiveX scripting engine called PerlScript.
As for the OP’s question, it depends entirely on what type of programs you’re interested in writing. There are thousands of programming languages, each one tailored to different types of tasks. I wouldn’t reccomend Perl as a beginning language, due to some of the gnarly syntax and inconsistencies. Learning the fundamentals of algorithms and data structures is far more important than learning any one particular language anyway. C is a good language if you want to dive right in; it’s very simple and small but it’s very easy to get lost if you’re not careful. If you want to learn object theory then Java or C# are good choices for doing object oriented programming.
You won’t find much agreement on this topic. Everyone has favorite languages (personally, I hate Java, but recognize its academic value) and everyone has different opinions about how computer science should be taught and learned.
so I should learn c and c++.
And I already know html…
Nobody mentioned C++. Personally, I’d stay away from it if I were you. It’s huge and complex and doesn’t do much for teaching a beginner the fundamentals of programming.
HTML is not a programming language. The fact that you mention it tells me that you don’t really understand what you’re getting into. I’d reccomend getting a good language-neutral computer science text, like Computer Science: An Overview by J. Glenn Brookshear, or if you’re a real math nerd, The Art of Computer Programming by Donald Knuth.
Again, you never mentioned what kind of programming you’re interested in doing. CS is an enourmous field that grows by the day. If all you’re interested in is doing nifty web sites, you can learn a lot from google searches and tutorials. But if you’re interested in real programming you will need to do a lot of reading about the subjects you’re interested in before you start in a particular language.
There are certainly plenty of choices available. I think you ought to think about what sorts of apps and uses you are aiming at and ** pick something that will be cross platform**.
I found Pascal Easy to learn (I started with it)
Then C was easy (to a lesser extent, because it allows more room for error/complete distruction of system)
C++ Took time, but the fascinating possibilites of it’s OOP capabilities gave me the motivation to percivere.
SQL is very easy, but is limited to database apps.
If I were you I’d start with C and then move on to C++.
(I am not usually that careless with spelling)
This isn’t a GQ. This is an IMHO thread or a Great Debates thread.
Don’t start with C. It’s too low-level and you can shoot yourself in the foot with it. Having to manage your own memory is worse than a pain when you barely know anything at all about programming: It can lead to really dangerous bugs, especially in an OS which doesn’t offer true memory protection (like, say, any OS made by Microsoft). C is a great second language, because it is clean and simple and can be used to make really fast programs.
Python is probably the best language to start out with:
[li]Enforced whitespace: Writing readable code is more than courteous: It’s essential if you want to become a professional. Python enforces good indentation practice, burning it into the minds of young hackers so they’ll do it automatically when they brave the wilds of the freeform languages, such as C and Perl.[/li][li]High-level: Python is a kin of Perl and Ruby, and it allows the young coder to write programs that are both portable and simple to understand because they don’t need to manage memory or worry about variable typing.[/li][li]Object-oriented: Python offers better OO than Perl, because Perl’s OO is an afterthought, and has to be compatible with existing, non-OO Perl. Ruby’s OO is the best (better than Smalltalk’s, IMHO, if only because of a more modern syntax), but Ruby doesn’t offer everything Python does.[/li][li]Development environment: Part of the Python package is a Python shell that allows you to write programs in an interactive, flowing way. This is essential to really grasping what programs do at the statement level, and encourages programmers to think bottom-up, creating functions first and then building programs out of them.[/li][li]Active community: Perl’s is larger, perhaps, but Python’s has plenty going for it. Being able to see code written by others is at least as important as having a good text.[/li][li]Good books: O’Reilly publishes at least one really good Python book. That’s all you need. :)[/li][/ul]
Steer clear of any proprietary languages, like Microsoft’s Visual series. They aren’t worth it, especially when you graduate from Microsoft to Linux.
For your first language, I recommend Pascal, or rather, Pascal with OO extensions (e.g. Delphi). The compiler keeps you in place instead of letting you screw up like C or C++.
I would say simple BASIC, but it seems there’s not really such a thing. I’d hate to recommend Visual Basic, because it comes with all the complexities you don’t need right away and lets you get into a lot of dirty habits. Seems qbasic isn’t installed on my Win98 work computer…
How about buying yourself a nice, cheap, used Commodore 128?
I guess I’ll have to recommend Delphi (Pascal). Pascal is a teaching language, and its strong typing will truly force you to learn about datatypes. Don’t go trying to make Windows apps, though. Start with console applications, so you get to learn the language. Theres a HUGE difference between learning a language versus learning a programming library!
“Support” is probably important too, Derleth, right? You can compare Python to BEZ for that one.
If it’s really little-known then that’s a shame. It’s certainly well known in my circles. Perlscript allows you to write ASP pages in Perl rather than VBScript which is incredibly useful. The syntax is identical to Perl with the addition of some ASP objects like session and request. I’ve done direct ports of Unix Perl scripts to ASP pages with only trivial modification, and writing ASP in Perl overcomes most of the problems and limitations of VBScript.
I’ll throw my IMNSHO on the OP: BASIC is a great way to learn, but since it’s become pretty synonymous with MS VB, that may not be great. VB is a fine language for GUI development, but it locks you into a proprietary system and beginners tend to use the wizards, which defeats the purpose of learning.
I’ll agree with freido that Perl is difficult to learn. It has the additional problem that the Perl developers feel free to do things right and correct their mistakes, which means that they occasionally create a new version (e.g. Perl 6) which is not completely backward compatible with older Perl. That said, I’ve worked with a lot of programmers who were “okay” in VB, C++, and Java who didn’t become really good programmers until they learned Perl. I think it has something to do with Perl being both flexible and terse, but it makes you think differently. I know several people who write better Java now that they know Perl. You may not want to start with it, but put it on your list.
I’ll echo a lot of others in recommending Java or Python as a first language. Personally, I prefer Java from both a useful and pedantic standpoint.
What language you set out to learn depends on what your goals are. Do you want to write fancy looking software that’ll run on any platform? Pick Java. Do you want to write wickedly fast programs? Pick C. Do you want to just churn out basic stuff? Pick VB.
In a sense, all of the languages mentioned are minor variations on the same idea, so once you’ve got one, it’s just a matter of learning the syntax of the same features in another one. There are differences, especially between object-oriented languages, but those won’t come into play until you’re pretty proficient.
The most important thing, no matter what language you pick, is to learn to write well-organized, clean, readable code. And no one’s gonna disagree with that.
FWIW, I like C++, because it allows me to use objects and to write efficient code like in C. Granted, you have to be pretty comfortable with memory management to write really good C/C++ code, but I’d say that’s a skill worth picking up anyway. Java and other languages may have automatic memory management, but I prefer to control that directly.
Learn Java first if you plan to go on to C and C++.
I learned a variety of languages, and eventually implemented a very successful commercial software program (about 100,000 lines) in Pascal.
But object orientation is important these days. Java or C#.
TO those who know, is it true that Delphi is revived and being supported???
FWIW, object-oriented methods are only really helpful if you’re dealing with large, complex systems. They’re not bad for smaller systems, unless you’re doing real-time programming. The extra overhead associated with object lifetimes and method invocations makes real-time programming more difficult than it already is. That doesn’t matter much to a beginning programmer, though.
For what it might be worth:
Work forced me into a C++ project ages ago, using Borland’s Windows frameworks (whatever those were called, it’s been too long). I had no idea what I was doing at the time, and was mostly just following along with the C++ syntax as best I could, but mostly writing C code to get the real work done.
Another project came along some years later that forced me to use Java. Learning Java, especially using Bruce Eckel’s Thinking in Java, finally allowed me to “get” OOP. Looking back on things, I think it was the syntax of C++ that was confusing things for me (well, that and a couple other things I don’t particularly like about C++, which are absent in Java).
Now I’m comfortable in both languages, and when people ask me about a good language to learn for OO stuff, I tell 'em Java, and point them to Eckel’s book.