View Full Version : FAQ: Which Language Is The Best To Learn.
(can someone with the relevant powers make this sticky?)
This is a question which comes up time and time again. To advoid people asking the same question again and again, I decided to make list of languages and what they are good for. There is no best language to learn. They are all different and used for different reasons (hence, so many of them). This is as much of an exhustive list as I can think of. If you want to add to the list, be my guest:
Assembly (ASM):
You'll typically want to use MASM or NASM for this (compilers). Assembly is a pnumonic form of the core 0s and 1s the CPU directly understands to carry out instructions. It requires alot of instructions, typically, to do anything obviously useful. The use of assembly is virtually obsolete now, what with higher-level language compiler technology so good nowadays, there is no need to use assembly (a new C super-compiler exists, apparently, that even knocks hand-written+optimised assembly into a hat!). You would want to use assembly for very efficient code (because the instructions allow complete manipulation of the CPU). What is typically used, are Assembly directives in a C program (so you can write the bulk in C - alot easier - and the bits that need to be optimised, in assembly). Although good higher-level-language compilers do exist, they are very expensive (so this C/ASM approach is still an option). Good only for very complex projects, due to the difficultly in learning and using assembly.
C:
This is a higher-level-language than ASM. This means, that each instruction does more (so less has to be written, and it's easier to debug). C has become the de-facto standard for ALOT of companies. This reason is historical (and that, as a result, more people know C than any other language), and not necessarily a good one. Learning C is good if you want to write something on a CV you'll know be useful for a lot of computing jobs. C, however, allows alot of dirty tricks and has poor memory management. This basically means, its very easy to insert a bug which exists only because the program has allowed an action to take place that shouldn't be allowed to happen. The latter means a thing known as "memory leak" happens frequently, which is where over time the program fails to deallocate memory it used. The syntax of C also makes it a hard language to get into C. However, C is both very fast and very flexible (its possible to use the "dirty tricks" for clever programming). Both free ANSI compilers, and paid for Borland and Microsoft compilers are typically used to compile C. (Integrated into Unix. Therefore very easy to write a C program for, say, Linux)
C++:
Same as C, but with OOP added (among other things). OOP (object orientented programming) is a very big trait used in programming today, especially for large projects. It is a useful thing to know, and hence alot of people skip to learning C++, without bothering to learn C first. Same pros+cons as C apply for C++. The only thing to remember is, C programs are typically faster than C++ programs. But this is due to C++ programs usually containg objects. On the flip-side, the use of OOP allows for programs that would be tricky to do in C, and not likely be as efficient.
Ada95:
Very strict language. Similar syntax to C (well, closer still to Pascal, but i don't really know anything about that language). It forces good programming technique, by inforcing strict rules on what you can and can't program. This takes away some of the flexibility, that would be visible in a C program; this isn't a problem, however, since problems are worked around, and are more likely to work. It is used for safety-critical systems, where it is a necessity the program doesn't crash (e.g. the software used to control a nuclear-power-plant). For this reason, its not often learnt by the layman, but is still good to consider, if you think you might want to extra discipline to help in learning good programming practise. Free compilers can be found on the net easily. Contains OOP. (infact, is the only language officially supporting OOP.) Typically not as fast as C, but apparently, frequently beats similar C++ code in speed.
Visual Basic:
OK - my knowledge of VB is fundamental at best, but it is supposedly a very easy language to learn. It also used in macros in Office apps, but also as a variant called VBA or Visual Basic For Applications. VBA is the language to learn if you want to integrate and manipulate Microsoft Office Documents and MS Access Databases. Contains OOP. Another variant of this (Simialr to how Java and Javascript are) is ASP or Active Server Pages.
ASP: Like PHP, this is a scripting language and is not compiled prior to being run. It is interpreted at run time. This generally causes a performance hit because the code is being interpreted as it is "read" into memory by the server when the page is requested. This is object oriented. All variables are of type VARIANT which again causes a hit because they are not specifically declared as a "string" or "integer" etc. ASP is a dynamic language that allows dynamic content,database driven applications and websites to be made much like PHP. ASP has the ability to call ActiveX components that perform specicif functions based on parameters passed to the ActiveX Object that is instantiated when called. ActiveX components can be written in C/C++ , VB or .NET. ASP can only be run on Microsoft IIS though there is an emulator for *nix, it is very slow.
Java:
Cross-compatable code. Compile once, and it should work on any computer with a Virtual Machine. Used everywhere, mobile phones, PDAs, Web-sites; the list goes on. It is useful, because you can learn one language and be able to code for your PC, but also for your mobile phone. SImilar syntax to C. Supports OOP. Not as fast as the aformentioned languages, due to having to run on a VM. However, my argument for that is: I suspect there are very few people, who want to program, that will ever write code that absolutely requires that extra bit of speed. If your program is too slow, its because you've written it badly, not because the language is a bit slower. Free and Pay-for compilers available.
PHP:
A back-end language for web-applications and services. It allows dynamic content for a web page (e.g. a forum, you click the same link, but the page content will vary depending on whats on the database). Supports OOP, and has alot of nifty features that allow for some pretty powerful code. Using the Zen pre-processor (i don't think it counts a fully fledged compiler) can be faster than all the other currently available back-end languages. Its free, and requires no compilation (since it runs natively on the server's software).
JavaScript:
A cut down, and slightly modified version of Java. Used for web-page wizardry (e.g. when you choose an item from a drop-down menu in a form, and the form changes slightly: thats JavaScript doing that). This allows the site to be dynamic once its downloaded to your browser (rather than generate a dynamic page). Basically, anything that wants to move on your site (unless its done in Flash or is an animation file) has to be done in JS. Its pretty essential to learn, therefore, if you plan on making web-sites.
HTML:
Hyper-Text-Markup-Language
This is the "language required" to build the body of any web page. This is an absolute must if you plan on getting into web-design. Though HTML isn't really a language, it is mostly for formatting web pages for display purposes.
XML:
Extensible-Markup-Language
This is pretty cool to learn. It can be used in web pages, but can be used in any program really. It (much like HTML, which are basically the same thing. HTML can be expressed in XML.) is parsed, meaning the syntax of the language is checked, and any semantic meaning behind a tarticular tag results in code being executed. (It's no great surprise, the parser is typically written in C). The domain for use of this is fairly specific, I would say. Learn, only if you have to (or want to). (Eg someone says, oh, yes, XML would be good for that.)
Others:
Prolog, Lisp:
These are declerative types of language. (Excepting XML and HTML, all languages mentioned so far are imperative). The main difference is an imperative language describes how to do something, a declerative describes what do to. It can be difficult at first to get your head round, but it allows for very powerful (it not for consumer programs) programs. Prolog is typically used to write AI. Don't get excited, however, and think that you should learn Prolog. It requires a shed load of mathematical knowledge to use correctly, and even then is only used for AI you almost certainly won't be writting. "AI" for games, for example, is just a series of clever tricks (and hence, written in C usually). The "AI" that prolog writes is WAY to complex for a normal computer to handle alongside graphics, sound, etc etc.
Free compilers can be found for both.
vasarnap2000
10-30-03, 16:29
FORTRAN is still alive and cooking.
FORTRAN (Formula Translation): {definition is taken from http://www.yourdictionary.com/}: A high-level programming language for problems that can be expressed algebraically, used mainly in mathematics, science, and engineering.
A good source for information and links to other useful sites can be found at:
http://www.nsc.liu.se/~boein/fortran.html
You'll typically want to use MASM or NASM for this (compilers).
There's no such thing as a an ASM compiler, they're called Assemblers because the code is so much like binary it doesn't have to be compiled. Oh, and NASM rocks, free and mostly now adays MASM is dated and not-free, it also isn't cross-platform and nor does it support as many binary formats or options as NASM does.:) :)
Assembly is a pnumonic form of the core 0s and 1s the CPU directly understands to carry out instructions. It requires alot of instructions, typically, to do anything obviously useful. The use of assembly is virtually obsolete now, what with higher-level language compiler technology so good nowadays, there is no need to use assembly (a new C super-compiler exists, apparently, that even knocks hand-written+optimised assembly into a hat!).
Not possible, the power of assembly over powers any language, even ELF format, it can create 45 byte binaries instead of 4 kilobyte C binaries that are optimised because interrupts' are better then whole libararies, and the control. You can hand custom binaries.
reason that compiler can sometimes do betetr optimizations, is the sheer number of instructions for any given processors. Would take the palest gremling form intel to list em all :P
Say again, I just dont' see how compielr that can't possibly optimize as well, the only way I can see it beating the Assembly is for a big program where optimization is hard and "functions" (just calls :)) start to be used to save space.
Ya tahts what i mean. Try optimizing 10 trillion liens of ASM. the sheer voluem of the task is why compiler can do it better, as you will eventualy make mistakes.
Its posible to beat one the compiler, if you have that much time to do it in a large application.
You could probably write you own functions and make it nicer and possibly beat C because they are in assembly and not C which isn't a space issue, but for large apps C is the only way to go =/
ssjchris_29
11-03-03, 10:12
when it comes to that extremely nice C++ compiler that does that "knocks hand-written+optimised assembly into a hat", can i ask ya what compiler it is??? thanks!
Turns code into binary, it actually turns into Assembly and then binary... For example gcc -S will create an Assembly file of your code.
hes asking what compiler will make better then hand written assembler code.
I dont know personaly, and i doubt it can be done on a oen for one basis <ie take two programs of equal size, and hand written one will be better, although will have taken longer>
Hi guys.
Ummmm, firstly: sorry for the delay in replying; haven't been on the boards for a while :D
OK - so quick responses:
firstly masm and nasm ARE compilers. Both of these provide pre-processing commands, and syntax checking. The process of converting pnemonics into binary also comes under compilation.
There are two primary parts to compilation: front-end and back-end
Front-end is lexical and syntactic checking.
Backend is optimisation and code-generation.
Whilst there is no optimisation possible when writing ins assembly, all the other parts take place.
Also - with regards to ASM coding (sorry I skipped out most of your conversation, just hoped I picked up on the gist :)) vs C etc coding.
Firstly, no. High-end compilers now-a-days will knock hand assembly into a hat. The primary reason for this, is that they can have a much more global perspective of the system. Even your basic app could easily have 1 mil instructions in assembly. The sheer volume of code, and inter-relations between eg. far/near jumping, code-reorganisation, memory optimisation etc etc etc etc (and goodness me, even more etc) means that the human mind really cant take all this into consideration. At most you would be given a module to code, of maybe 100 to 500 thousand lines, and then, even with abstraction of code, optimisations between modules are possible. And a final point, not many people both understand the hardware system AND the OS system that they code for SO well, that they could optimise for it completely.
Im not saying that on a small scale, with say a few thousand lines of code *only*, a human couldn't match (or **maybe** beat) a high-end compiler, but you wont find many projects where this is a reality, and software now-a-days just doenst come in packages that small.
But I supose I should clarify (also in response to who asked which compilers achieve this). There IS a difference in compilers. That's why you might pay a few hundred for MS's Visual compilers (actually the GNU compilers, which are free, are quite respectiable for this class of compiler) aint gonna match to a enterprise IBM compiler costing 10s of thousands of pounds/dollars/euros. ;)
firstly masm and nasm ARE compilers. Both of these provide pre-processing commands, and syntax checking. The process of converting pnemonics into binary also comes under compilation.
MASM is an assembler. That is why Microsoft called it MASM (Macro Assembler).
Compilers translate high-level languages into machine code and assemblers convert assembly language programs into machine code.
I don't want to sound stupid but isn't this a "right tool for the right job". I mean most of the high order languages are made because they wanted somthing special to be done in an easier way. If I want cross compatibility I won't use lisp or one of the several different assembly languages, but java, etc.
Also there are several different Assembly languages, because it's part of the instruction sets (the interface between the processor and the software basically). The Intel processors and the Mips Processors have different Assembler languages is an example.
Also I didn't see Perl, Python, Scheme, C# which all have their different uses
No, compilation (when we are talking about it, in the domain of traditonal HLLs, not your bytecode language or interpreted) is the process of compiling non-machine code, into machine code binary. The fact that the pnemonics of Assembly have a 1-1 relationship with binary representations, is a side-issue. Besides, NASM has macro support, which is certainly not a 1-1 relationship. The compilation process in NASM compilers involve syntax checking, and actual output of binary code. That is a front ot back code generation process. That is what compilation is. But, we argue over symantics :D
Further, to the last response. Correct, languages are a best-tool for the job. That's what I was hoping to illustrate here with my post. It certianly isn't a comprehensive list (and at the time, when it was compiled, C# and the .Net structure was a very new baby indeed. I didn't know enough about it to include it)
However, firstly.... I suspose I should clarify some points some more:
You mention that you wouldn't use Lisp for cross-compatibilty. However, that would be a very good reason to use Lisp (or Python,or TCL, or Perl, etc) because they are "intrepreted languages", which means that they there is no "compilation" (see above :)), merely a instruction to an underlying intrepeter to call some function. Java, is a different beast again. Java isn't intrepeted like this. Java actually creates what is known as "byte-code", a mid-way version of assembly, which can be abstractly thought of as the native instructions of the "virtual machine" it runs on. It is this VM layer between the byte-code (which will always be the same) and the actual binary generated by the VM from the byte-code, that is platform specific, that creates the cross-compatability of Java. C# is basically the same notion, although the "VM" in this case is the .Net framework and stack implementations.
Umm, oh yes, and scheme is an object-oriented version of Lisp. It is effectively the same language.
I really need to edit my original post.... but last time I was on the boards, I couldnt.. maybe because its "sticky".
Oh, and finally, with regards to your assembly point (just because I feel like a pedantic annoying know-it-all, and work is boring atm :D), assembly IS the entire instruction set of the PU (processor unit) of a system. You are absolutely correct, assembly differs from architecture to architechture. But it's not the interface between the hardware and software. Assembly is the 1-1 pnemonic mapping of the instructions that result in execution of the binary values that have been read in from the pipeline of the PU. It is actually the lowest abstraction of software possible on a machine (well, ok, the actual binary itself it, but, meh).
Enough from me..... :/
Blah... i cant find the edit button after a few minutes.....
But i meant to say "exhustive list" not "comprehensive list".....
my head hurts.
but interresting stuff from what i understood.
a new one www.rapideuphoria.com
like basic but more advanced
And it is ...
Euphoria is a simple, flexible, and easy-to-learn programming language. It lets you quickly and easily develop programs for DOS, Windows, Linux and FreeBSD. Euphoria was first released in 1993. Since then Rapid Deployment Software has been steadily improving it with the help of a growing number of enthusiastic users. Although Euphoria provides subscript checking, uninitialized variable checking and numerous other run-time checks, it is extremely fast. People have used it to develop high-speed 32-bit DOS games, 32-bit Windows GUI programs, and Linux X Windows programs.
animatorStrike
09-29-04, 23:14
I didn't see C# on the list.
gimpster123
03-03-05, 11:24
Which of these languages would be the best to introduce myself to programming?
Which of these languages would be the best to introduce myself to programming?
What kind of programming do you want to do? Desktop or Web?
gimpster123
03-03-05, 23:32
What kind of programming do you want to do? Desktop or Web?
Well i think desktop would be most apealling the me right now, then once i master the basics i spose a little web based wouldnt hurt. Also are there any books or online manuels that i may find helpful?
I'm biased towards VB.NET. If you learn VB.NET , then moving to the web using the same language is pretty easy (ASP.NET using VB.NET).
www.gotdotnet.com
www.devcity.com
www.4guysfromrolla.com
books:
Programming Visual Basic.NET by Francesco Balena ISBN 0735620598
gimpster123
03-04-05, 17:35
ill check those sites out, ty. Is VB.NET based on Visual Basic? I know the fundamentals of VB, wondering if they'll help or not.
Also do u no any good books/webpages for Java?
With all due respect Major sir you just f my head up . I really want to learn a program language. But I'm having a hard time trying to figure out wear to start. Could you please email me a good website that can get me starting in the right the direction or maybe you can help me . Just remeber what was your starting point . And then teach me geekfoo so some day I shall be young geekmaster.
Honestly, I started out by buying ASP3.0 Beginner by Wrox Press and just started reading. After a few chapters I started doing. It doesn't come by osmosis so you have to get into it and follow an example or two.
What kind of things do you want to build?
I only know basic coding in HTML. If I want to create an interactive website (i.e. create my own forum, guestbook, the works), what should I learn first? Which one doesn't require me to have knowledge of any language except HTML (and maybe English :p )?
PHP,ASP or ASP.NET
ASP.NET is by far the most powerful of the 3 but is quite different in the sense that it's not a scripting language like PHP or ASP are.
I only know basic coding in HTML. If I want to create an interactive website (i.e. create my own forum, guestbook, the works), what should I learn first? Which one doesn't require me to have knowledge of any language except HTML (and maybe English :p )?
I agree with KODO, all those 3 are a good and powerful choice, but of the 3 PHP Nuke would be easier to learn due to its HTML-rooted code.
rpgfan3233
06-07-05, 12:28
[This is a sticky, so this isn't exactly bumping...]
I think PHP would be the best as well. I'm currently learning it. I'm finding that if you can understand how some JavaScript (or C++; they do have some similar methods) works, you can understand PHP. The problem with me is that PHP and MySQL (databases) tend to go together, so I'm actually trying to learn 2 at once... Once I do learn though, I'll be able to finally create my own forum since MySQL is required to store user info/preferences, threads/topics, etc...
Void_where_prohibited
07-11-05, 12:05
It might be the best to learn but I find Liberty BASIC to be the easiest to learn.
hi i believe that C an C++ are the best langauges to learn 'coz a C programmer is not going to die for next 100 years and a lot of languages can perform simple tasks but C is somthing tht is able to perform the most complicated tasks .
There is no best language. You would not code a web page in C++ or Qbasic. Different languages are there for different reasons. If I were to recomend a language for someone to learn I would want to know a few things first.
1.) Do you know any other language?
2.) Are you familar with OOP Object oriented Programing
3.) What is it you want to do? That is do you want to make stand alone GUI applications? Make web pages? Make command line scripts?
The hot thing right now 12/12/2005 is
C++, | many vendors
Java Enterprise, |Sun Microsystems, few others make compilers
.Net platform | Micro$oft
PHP |http://php.net
SQL data bases | http://mysql.com , http://www.microsoft.com/sql/default.mspx , http://www.postgresql.org/ ,
C and C++ | http://gcc.gnu.org/, http://www.borland.com/downloads/download_cbuilder.html,
Do not confuse C/C++ with micr$ofts Visual C++. They are not the same.
You also have your markup languages such as SMIL, XML, HTML, XHTML, SGML http://xml.coverpages.org/sgml.html (not for meer mortals)
So to answer the question... There is no single best language. As a matter of fact once you get into programming you will often find you NEED more than one to get the project done. Most video games these days are C++ with some assembly thrown in for speed. There are also MANY more things going on as well.
mirage_serv
12-12-05, 20:40
Guess, Le4rner is right, there is no specific prog. language to learn, "Different Programming Languages for Different Uses", My, advice go out, decide what you want to program, get the language that does it well and master it!, then if you change your mind, it is now possible for you to move on. just keep this on mind. you can learn all things but can't do it all at the same time. best to the geeks:)
bytegoddess
12-15-05, 01:02
Le4rner,
I just wanted to applaud your having pointed out that ANSI C/C++ are miles away from Microsoft's versions... write "hello world" in MN VC++ and you have 1.5 megs worth of crap added to it ;-)
I would also have to add that learning programming within a visual development environment is generally a mistake, for one spends more time learning about the tool and less about the language... if one gets the tool taken away, he or she finds him or herself paralyzed. Development environments such as Visual Studio are limited in what they can do for you in the beginning, as the machine-generated code is not very good. Just my opinion...
The best language to learn is the language that will fit to your need at the moment. This involves consideration of the following, among others:
1. Task needed to be done -- Does it involve gui, api, or just plain text on screen? Are there lots of computations that need to be optimized? So on..
2. Learning curve for the programmer -- When a new language is considered in favor of #1 then how long will it take you(the programmer) to learn the *necessary* detail of the language to do the task.
Note that at this point, it is important to know what you want to do first before you can clearly pinpoint what is necessary. Plan ahead, that is.
Again, the best language to learn depends on the necessity and time.
pes4rules11
03-16-06, 12:31
i want to learn java, where do i start?
The reason you don't see C# listed here is because it is a musical note. It is musically the same as D flat.
Personally, I think Visual Basic is a good place to start. It's a good intro to programming. It's what I was taught my freshman year of college.
I also think C++ is a good language to have. It's very versitile, and once you know the basics to programming, you can learn other languages from it.
I learned assembly and just because I learned the instruction set to the 8085, doesn't mean I can't program in another language. You learn the basics and you can adapt those basics to other languages.
Right now I"m using Python(python.org, not python.com) which is very similar to Perl. It was easy for me to pick up because it's similar to C++, it's kinda like lazy C++.
I don't know HTML or PHP very well, but if I look at it, for the most part I can figure out what it is trying to do because I have programming experience.
Bill_Marsden
06-22-06, 09:03
Where is a good source (or book) to learn Visual BASIC? I am familiar with Q-BASIC, GW BASIC, and even older stuff (GAWD I miss 8 bit computers and assembly!). I have Visual BASIC 6.0 (I think), and I'd like to get a handle on it. All I see at the computer stores nowdays is VB.net.
www.learnvisualstudio.net
Bill_Marsden
06-22-06, 19:19
Hmmm...
Like I said, I keep seeing the .net on all of this stuff nowdays, not just on VB. What the heck is that?
VB6 is dead..MS is no longer supporting it. .NET is the new environment/framework that MS has delivered.
http://www.microsoft.com/net/default.mspx
There are vast new improvements to developing software with .NET . There are also several .NET languages... VB.NET, C#.NET, J#.NET and a slew of others. Since you're into VB, I would recommend staying the VB route until you wrap your head around what .NET is. I can say this.. VB.NET a lot different than VB6 and the IDE (Visual Studio 2005) is just outstanding! You can get an express IDE for free from MS (legit!) http://msdn.microsoft.com/vstudio/express/vb/ this way you can download a nice IDE to see what it's all about.
Don't bother with VB6.. it's legacy.
Bill_Marsden
06-23-06, 09:59
One flaw in that arguement, I have a legit copy of VB6, bought and paid for. Same reason I use Win98se, and occasionally program in GW BASIC and DOS bat files.
Maybe I'll get a copy of vb.net for a birthday, Christmas...
It past my bed time and maybe I'm being dense, but what is IDE? (I tend to think of it as a hard drive interface). Reading the links you gave it appears to be Visual Studio 2005, but I'm still scratching my head how the initials relate. In any case MS doesn't acknowledge 98 any more, so it's the older stuff for me.
SweatyBanana
11-05-06, 17:25
QUESTION: Do you guys support C#?
C# is all I program in... well VB.NET too and JavaScript..:D
I have done programming in several major languages like Pascal, c family (except c#), ada, VB and some others language that i don't have much experience with.
for me good language must promote a good programming habit. moreover you must be able to produce codes which could be easyly to maintain. my last criteria, a good language must provide easy way(s) to make our program can talk to other programs which were written with different languages.
In my opinion, Ada is a very good programming language. you must try it out.
But if you really want to be programmer, C programming language is a must. Even though it doesn't meet any of my criterias :D
No mention of Python....hmmmmm....
Anyone have any thoughts?
Me, I'm not quite smart enough to write a decent batch file. I'd like to have a smooth, unobtrusive button on my toolbar that will shut down multiple apps/processes (of my choice) w/one click. It's a pain having to turn them all off seperately when I wanna free up RAM for gaming. Honestly, I checked into writing it myself for about...a week :)....and then decided to play Battlefield some more instead.
But if any of you technogeeks have suggestions, I'm all ears. Just lemme put this sniper rifle down for a sec......
:D
I didn't see COBOL in the list.confused Not saying it is the best language to learn unless you have to maintain the billions of lines of code that business have their systems written in. Just thought that it is still needed since all the COBOL programmers are going to retire and it cost to much money currently for them to switch the code to something else like JAVA or C++.
Bill_Marsden
01-31-07, 22:47
I don't know COBOL, but I saw enough of it in collage to know it is not a fun language to program in. This was 30 years ago. There are COBOL programmers out there, but only because the gov. insists, so there aren't many.
what are your thoughts on ruby or small talk
iv been told that they are easy to learn and pick up ounce mastered java lol
but since ruby and small talk or new not many programs use it which is a shame
:(
an I.D.E stands for Independent Developers Enviroment they are often a program on top of a program like most ruby programs are embeded on top of an eclipse program
others are komodo for perl and python :wave
for forms i think pearl the best as that uses the basic cgi scripts
I LOVE C#.. Ruby is very cool as well. I've never used small talk.. but Pearl? what a horrid, crappy language. Never meant for the web. Pearl should stay server side doing what it does best which is working with files, not web sites.
i quite agree with you there on perl
i just managed to get to grips with css and html and now have very little understanding of php and mysql which can bind with html to give you dynamic language.
But these days there so meny languages now it is hard to choose with squark ,ASP,among the rest it does your head in. :cry
I must try and learn Ruby
Can you use it like HTML or is it like php simply a server side language
try it :)
http://www.rubyonrails.org/
i tried it a few months back it seemed very easy
but i had trouble with there eclipse ide esp instant rails i just couldnt get my head around on how to run a program on it.
as for squak well no coment lol if you go for gizmos
according to the founder ruby is a bit of everything thrown in esp lisp,small talk,and c i believe basicly all object orientated programes.
give small talk a try it much easy to understand than ruby
oh no im showing my ignorance now lol :o
an I.D.E stands for Independent Developers Enviroment they are often a program on top of a program like most ruby programs are embeded on top of an eclipse program
others are komodo for perl and python :wave
sorry to infiltrate like this but i think there's a need for a small correction
IDE stands for Integrated Development Environment
a perfect example of one would be Microsoft Visual Studio
P.S. this is my first post no offence, however i thought it'd be useful to emphasize that mistake :wave
more info on what an IDE in details is
read here: IDE on Wikipedia (http://en.wikipedia.org/wiki/Integrated_development_environment)
:o thanks for correcting me.
i knew it was something like that but couldn't get my tongue around it.
the best place to look for examples of these i.d.e's is sourceforge.net which also have others like ruby
:wave
umm c is heaven imho.!!!!!!!!!!!1
ShockTroop
08-28-07, 21:43
umm c is heaven imho.!!!!!!!!!!!1
Plain ol' C?
Sure, it's a good start to learning programming (and especially good if you plan on doing *nix programming), but it's a pain not being able to use objects. Of course, that's probably because I learned C++ first, which made me hate it that much more.
if you are want web programming PHP/HTML if not Python is a good starter...
Yours,
Bmosvn
Adrynalyne
10-09-07, 14:34
DOS isn't a programming language ;)
It does stand for Disk Operating Sytem.
What Gates did refers to MS-DOS, not DOS.
That stands for Microsoft Disk Operating System.
Bill_Marsden
10-24-07, 12:04
DOS (without the MS) is a generic term. There were DOS's before M/S, Bill Gates actually bought 1.0 from somebody else, and started adding/debugging it. Being machine maintenance I got to see a lot of custom computers that were developed indepentent of M/S. To give MicroSoft credit they just did it better than everyone else at the time, but their are still competing systems.
So Linux is an OS, but is it a DOS? If not a DOS, what is it's DOS? I'm sure Apple has an equivalent too.
Check up on the definition of DOS and that question is put to rest
"DOS is a single user, single task operating system with basic kernel functions that are non-reentrant code; once a process is begun, it must be allowed to run until finished before the same process can be used again."
via wikipedia
Bill_Marsden
01-04-08, 03:10
Uhh, Wikipedia isn't necessarily a definitive source, basically due to the fundamental nature of Wiki's.
Again, there isn't one DOS. DOS is a description, not really a language. BASIC is a language, with lots of dialects, but all refer to a root language in common. DOS doesn't have that.
Uhh, Wikipedia isn't necessarily a definitive source, basically due to the fundamental nature of Wiki's.
Again, there isn't one DOS. DOS is a description, not really a language. BASIC is a language, with lots of dialects, but all refer to a root language in common. DOS doesn't have that.
No but its a damn good one in this example, if you don't believe that then check dictionary.com or do some googling. I and most people would accept the description I posted, I would say it fits the bill well.
Bill_Marsden
01-05-08, 10:32
If we were talking about one type of machine, perhaps. But I have worked on a lot of custom stuff, very little has anything to do with Microsoft, and all of them had a DOS (Disk Operating System). Just because "everyone" knows something doesn't make it true.
The good news is over time the frequency of custom computers is going down, they are starting to standardize on the PC platform we all know. The reason this is good is it does simplify the job of maintenance and support.
The HP variant of DOS, IEEE, for example, talks to various pieces of equipment as well as the drives. Commodore used a variant of this system to talk to all its peripherals. Since each device was intelligent in the IEEE system, you could have quite a bit going at once. You could even share equipment with more than one computational device.
DOS can also include networks, which definitely don't fit that description.
I don't know much about Linux, so I was curious as to what kind of DOS interface it had. I'm also sure that Apples interface coding is a lot different too.
Adrynalyne
01-06-08, 13:43
You say tomato...
Stick to the subject please, or risk having your posts deleted. Arguments that are off topic need to be taken to PMs.
Bill_Marsden
01-06-08, 19:25
:o You're right. So allow me to rephrase the question. Bat files are a form of programming, I've seen them used as a language, although somewhat limited (they can do conditional statements and loops). Does Linux and Apple programing have something similar?
Adrynalyne
01-06-08, 23:37
Applescript, maybe. Im no coder, thats for sure ;)
:o You're right. So allow me to rephrase the question. Bat files are a form of programming, I've seen them used as a language, although somewhat limited (they can do conditional statements and loops). Does Linux and Apple programing have something similar?
Windows has a built in interpreter for bat files in the cmd program, later versions of windows use vbscript with them. With Linux you have a command line program that interprets executable files also, such as BASH, KSH or CSH, any text file with commands in it and an executable bit set has the ability to run as a script.
I could not say for apple although I have heard the term applescript thrown around before.
shawneeoboy
04-02-08, 23:58
I wasn't able to read more than the first page and last page of this. It's something I'm very interested in. I think "Which language ...best to learn first?" is the topic, although I enjoy seeing "debates" between people who know what they're talking about, when I don't, so I can just enjoy it without having a strong opinion.
I first learned Basic because PC's with Windows/DOS used to come with a Basic compiler. It's amazing how many people didnt know that. That was good, because I had little money and I could start right away.
Then I learned Assembly. I wanted to learn assembly, because it more than any language would teach me exactly what is going on in the PC, and I wanted to start at the bottom. I haven't maintained my asm coding at all, so I'm going to brush up on it. "Assembly Language Step by Step" I think it's called, by Jeff Duntermann is the only book designed specifically for people who want to learn asm FIRST as a language. I think he did an incredible job.
Learning assembly first, though, doesn't help much when trying to learn a higher-level language like C++. I learned that next. I didn't get real far, yet, with that. Then I learned a little bit of Java, and that's about it.
I think maybe C would be good to learn first, or Java. But, any language that one really has a knack for would be good to learn first, I suppose... if there is one.
Te first Language i learnt is PHP... pretty good multitasker if you ask me...
Maybe I'll get a copy of vb.net for a birthday, Christmas...
Just a note, the .NET framewrok itself is a free download and you can get free .NET development tools from Microsoft. The thing is that unlike Visual Studio, which has everything in one App, the free ones are language specific.
The Express Editions come in Web, C++, C# and VB flavours.
http://www.microsoft.com/express/product/default.aspx
daedz_will
05-10-08, 18:21
Visual basic for sure, its what i started out in, also (not on the list) Pspdev (:
for writing apps i use Context
but i'm leanring Uscript
IDE is Integrated Development Environment, which is a tool used to develop programs, usually in a particular language. There are IDEs for Java, C++, Basic, etc. The alternative to an IDE is usually a text editor, but an IDE includes features that help with the language, and usually can automatically run the compiler for you. Many also help with debugging. QBasic and Edit are the same basic editor, but QBasic is more like an IDE. I tried Visual Basic demo 6, I think, but it was too buggy for me. I use C++ instead, with Quincy or Dev-C++ IDEs. I like legacy technology. I still use win95, 98, DOS3.3+ (both PC and MS), and many other legacy stuff. I often work a problem out in them when it doesn't work in a modern situation, than translate.
My first language was Texas Instruments Extended Basic. My Mom showed me programming in it. I then learned BASICA and CBASIC, as well as DOS batch and Assembler on an IBM PC-XT. Shortly afterward, I added QBasic and HTML to my arsenal. Now, I know JavaScript, Java, C, C++, PHP, and some languages I have no experience in, but can read. I never wondered which language to learn first, I wanted to learn them all. lol I think the suggestions already given to choose a language are good, though. Here is how I choose which language to code a particular project in:
factors:
1. environment to work in: Operating System, hardware, means of communication if more than one computer or involved or if external routines are to be used
2. Will you want to make quick changes to a text file (script) or do you want to compile for more effecient execution?
3. If any source is already coded, can that language or similar be used?
4. Which language do you have the most experience programming something similar?
As for #1, Here is how I categorize my best languages:
DOS: Assembler, GW-BASIC, QBasic, batch files
Windows: Windows Scripting Host, C++, Java, and some DOS languages
Macintosh: AppleScript, HyperCard, Assemblers
Linux: C++
Internet: HTML (or other SGMLs like XML) for structure, JavaScript and Java for client-side (and PHP for server side) actions.
investmentsuk12
09-02-08, 11:58
there is no better language to learn i suggest learning all the languages it will widen your possibility to all aspects
So... Where to begin.
A) Bat files and sh/bash scripts are both examples of shell scripting. Look up unix shell scripting. But these are very simple languages that rely more on coordinated installed programs than doing anything new. I wouldn't, personally, include them in a list of languages to learn, except as addendum.
B) It's mnemonics, not pnemonics. "Pneumonics" relate to the lungs or other air-pumping devices, mnemonics are devices to aid memory.
C) The OP neglects to mention most of the dynamically-typed languages, i.e. Python, Perl. Not to mention Ruby-on-Rails and a host of other things I've read about but don't really know enough to write on, though this might be due to the date of the post.
D) XML is gaining importance, and may soon replace HTML in the guise of XHTML. Not to mention its value in databases.
E) The OP also left out INTER (http://www.muppetlabs.com/~breadbox/intercal-man/)CAL (http://www.catb.org/~esr/intercal/), for what reason I cannot fathom.
Applescript is super easy.
Check out some easy to follow applescript tutorials:
http://applescripts.thompson-solutions.com/applescript_tutorials_Basic_Advanced.php
vBulletin® v3.8.3, Copyright ©2000-2009, Jelsoft Enterprises Ltd.