# What Languages Do YOU Know?



## Trip (Jun 9, 2002)

Well? What computer programming languages do you know or want to know?
And of-course you can vote for more than one!


----------



## dricci (Jun 9, 2002)

Right now I only know English, but I hope to learn Spanish or some other language in the future.


----------



## seb2 (Jun 9, 2002)

oh, human languages?  

fluent in german, english, french and russian.
basic knowledge of spanish, polish and japanese. the latter very basic.


----------



## xaqintosh (Jun 9, 2002)

I'd like to learn Objective-C, C++, and Java

I am currently working on Applescript, which is very easy


----------



## iconara (Jun 10, 2002)

tip: ASP is not a language.


----------



## Captain Code (Jun 10, 2002)

> _Originally posted by iconara _
> *tip: ASP is not a language. *



LOL


----------



## alesh (Jun 11, 2002)

I didn't think HTML was considered a language? Is it?


----------



## benpoole (Jun 11, 2002)

> _Originally posted by alesh _
> *I didn't think HTML was considered a language? Is it? *


Not really, it's just a tagging schema.

But I guess it falls into this on account of its name: HyperText Markup Language.

Same goes for ASP (if "Active Server Pages" was intended) and AppleScript... they're more tag / script-based, rather than being out and out languages.

But hey, it's a small thing!


----------



## ladavacm (Jun 11, 2002)

C, COBOL, PL/I, awk, sh, tcl, LISP, FORTRAN, and plethora of the other traditional languages?  Do they not count any more?


----------



## iconara (Jun 11, 2002)

well, HTML is not a _programming_ language, but a markup language (thus the name). ASP is not a language but a platform, and AppleScript _is_ a (programming)language.


and to answer *ladavacm*: well, you don't see much of COBOL and Fortran these days, awk and sed were replaced by perl decades ago and tcl has seen it's day... Lisp was never big outside the artificial intelligence-research institutes apart from the mad hackers making platform games for emacs (which I hear is written in lisp) list-interpreter. PL/I is so outdated that I have never heard of it, and all the C-programmers have migrated to C++, there's no one who uses a plain C-compiler these days. Even the objective-c coders can hack c++...

so the answer is probably no. there is no point in using archaic languages, although it's cool knowing them, of course. i wish I knew Lisp.


----------



## iconara (Jun 11, 2002)

I compiled a list with the languages I know, those I have looked at and those I don't know, but know of:


I know:
----------------------------------------
Java, JavaScript, Objective-C, C, C++, Perl, PHP, Python, SQL, 6809-assembler.


I have looked at these:
----------------------------------------
AppleScript, Ruby, Haskell, Logo, Tcl/Tk.


I will look at these some day:
----------------------------------------
Self, Smalltalk, Eiffel, C#, Lisp, Awk, Sed.


These I consider too archaic or useless:
----------------------------------------
COBOL, Pascal, Fortran, Prolog, Ada, Modula, Dylan, VB, Basic

I will add PL/I to the list, some day, when I know more about it than I do now...



happy coding.


----------



## rinse (Jun 23, 2002)

where is PHP in that list?


----------



## Trip (Jun 24, 2002)

When I created this thread I looked over a list of at least 200 computer languages. And chose the best ones for this sort of topic. That's why some languages do not appear on the list, even though they may be used more than others...a wide majority of users don't know them.

And note this is a thread about *computer* languages, not programming languages in general. Thus AppleScript and such, scripting is basically a whole new level of language.


----------



## Powermaster (Jun 24, 2002)

Tell them how it is Trip :')


----------



## ladavacm (Jun 27, 2002)

> _Originally posted by iconara _
> well, you don't see much of COBOL and Fortran these days,


So, you haven't been around much lately


> awk and sed were replaced by perl decades ago


Yep, you haven't been around lately


> and tcl has seen it's day...


Partly true...but, see above 


> Lisp was never big outside the artificial intelligence-research institutes apart from the mad hackers making platform games for emacs (which I hear is written in lisp) list-interpreter.


You have't been around UNIX much, have you; you would have *known* otherwise...but, don't let that disturb you





> PL/I is so outdated that I have never heard of it,


it figures, it's only the second most popular programming language, immediately after COBOL (hint: both are used mainly in big iron environments--banks, insurances, business departments, nothing really earth-shattering)





> and all the C-programmers have migrated to C++, there's no one who uses a plain C-compiler these days.


Wow, now that is something new; I bet nobody told that to all of those C programmers around, especially those in embedded and operating system arena 





> Even the objective-c coders can hack c++...


Now I get it--you are talking about coders; I was talking about programmers.  If you cannot tell the difference, you haven't been around enough



> so the answer is probably no. there is no point in using archaic languages, although it's cool knowing them, of course. i wish I knew Lisp. [/B]


Unless, of course, you want to be paid for programming in them.  But, that happens only after you have been around enough to have to pay your own bills, I guess   I must agree, though, LISP is currently the least required one of the above, used mainly in mechanical engineering (ever heard of AutoCAD?)


----------



## ladavacm (Jun 27, 2002)

> _Originally posted by Trip _
> *
> And note this is a thread about computer languages, not programming languages in general. *



Would you mind explaining the difference, in your own words?

To the best of my knowledge, the only languages computers use, if they can be said to use languages at all, consist of machine instructions (interpreted by the CPU).  Of those, there are 5 to 10 most popular currently, none of which was on your list.  So, you must understand the confusion this caused in the readers.


----------



## Trip (Jun 27, 2002)

Yea, I see where this confusion is coming from. But we'll just all have to look around it.

Anybody against me changing ASP in the list to PHP? Anybody else want anyother changes?


----------



## maccatalan (Jul 1, 2002)

> _Originally posted by benpoole _
> *Not really, it's just a tagging schema.
> 
> But I guess it falls into this on account of its name: HyperText Markup Language.
> *



HTML is a meta-language.


----------



## iconara (Jul 2, 2002)

*ladavacm*, do you know why the Y2K-scare was so big? No one knows how to reprogram the banks COBOL-systems anymore... So if your're in it for the big money, you learn COBOL to be able to remake those monsters in C. The thing with those languages you mentioned is that they are only around today, because they were big yesterday. The same will be true with C/C++ in ten years, it will be archaic, but used since many big monsters are made using it (ehm, Unix).


iconara


----------



## ladavacm (Jul 3, 2002)

heh, the scare was not because nobody knows COBOL; there are tons of people (it's a very easy language to master, you just have to be able to type 600 words a minute in order to get anything done in time).

The problem was worse: the compiler was really slow in the sixties, so that most of the critical bugs (show stoppers one had to fix within minutes) have been corrected by patching the object code (at that time, people did know how to read object dumps, without disassembler).  So, the source they had did not match the actual object code executing on the systems, and of course nobody kept the documentation (if any was indeed produced) about the nature of the object code patches 

The other problem was that not enough data has been stored in hierarchical databases (they did not use relational databases at that time) and dumping/reloading those is a lot of work (e.g. instead of join field, they used join pointers, containing the physical disk sector number of the related record; these had to be maintained from user programs, since these databases predate the concept of database backend).  etc, etc, etc.

Please, mark that it was not the fault of the language chosen for implementation!


----------



## scruffy (Jul 4, 2002)

English, French, German, C, C++, Java, Javascript, Tcl/Tk, sh and csh, HTML, SQL,  and LISP.  I have also forgotten a fair amount of Prolog and Eiffel.

I think C is the most satisfying language I have ever worked with; it's the only one that really lets you close to what's really going on in the computer (aside from assembler, of course).


----------



## Trip (Jul 5, 2002)

main()
{
printf("I completely agree with Scruffy!  ");
}


----------



## btoneill (Jul 12, 2002)

'awk and sed were replaced by perl decades ago'

Ok, now how can anyone come up with a line like that. There are so many things wrong that that I have trouble comprehending. Yes, I'm gonna get pedantic, but this statement calls for it.

First, of all, decades refers to multiple. Perl was first released in 1987, and to be completely honest was not really useful until Perl5 which was 1994. Perl4 was so so, but had some majorleague issues.

Second, by saying sed/awk are dead, means that all programming in sh/ksh/etc are all dead, as sed/awk is the major way to do text processing in shell scripts. If it's been decades, why do system continueally use shell scripts more and more?

Will perl ever replace shell scripts? Resounding NO. For instance, on Solaris, /bin/sh is all of 95k, 220k for the non-shared  object version. My compiled version of perl is over 1.1M. Gee, which one of these will load quicker?

Don't forget the fact that on my system perl is still not installed by default, and in many places, perl is not even an option to be used, as it's banned internally.

Ok, pedantic rant over for now, I won't even get into the other messed up assumptions, but they didn't iritate me as much 

As to the thread, what languages.....
BASIC (GW/Apple/Quick/Visual/C64 variants)
PASCAL (Borland/Delphi and unix versions)
x86 ASM
C
C++
Bourne/Korn shells (C shell programmers should be shot)
sed/awk
Perl
PHP
Lisp
SQL (it can kinda be a language...)
WSH
Expect

Those are what I can think of off the top of my head, not counting misc application specific scripting stuff. As to new languages, my latest project is Cocoa/ObjectiveC cause I really really wanna start playing with Aqua and I'm sick of waiting for other folks to write the apps I want 

Brian


----------



## Captain Code (Jul 13, 2002)

C rulez.

If you want to crash ANY PC, just code and run the following:

void main(void)
{
   for(;
      printf("\t\t\t\t\t\t\b\b\b\b\b\b\b\b\b");
}



I got this from another thread on this board somwhere.  Some people should remember this code.

HAHAHAHA


----------



## ladavacm (Jul 15, 2002)

> _Originally posted by devonferns _
> *C rulez.
> 
> If you want to crash ANY PC, just code and run the following:
> ...



???  Okay, it moves the cursor a bit, and beeps a lot, but it does not really crash anything wich does not have a (very) buggy tty implementation.

Naturally, this all depends on the quality of C compiler: the above should not compile; you are free to find the error.


----------



## Captain Code (Jul 15, 2002)

It will compile and crash a PC if you compile it with MS Visual Studio.

The error you're talking about is probably in the printf() function, because I can't remember if there are any other arguments or not in that function.

Infinite loops will compile.

You don't need braces in a for loop if there's only one line in the loop.


----------



## iconara (Jul 16, 2002)

people on this board really have a problem with irony.


----------



## maccatalan (Jul 16, 2002)

no, just PC men 

have fun,
Pierre


----------



## ladavacm (Jul 16, 2002)

> _Originally posted by devonferns _
> It will compile and crash a PC if you compile it with MS Visual Studio.


Ah, that.  Buggiest tty implementation coupled with probably the worst C compiler on the market with really lousy libc implementation (okay, they don't use that one a lot; MFC is better)



> The error you're talking about is probably in the printf() function, because I can't remember if there are any other arguments or not in that function.



The error is in fact void main(); main() is defined by standard as int main(), and it is called as such in the hosted environment.  Some systems crash when you return from void main(), because the return value they expect is not there   void main() is typical Herb-Schildtism, but even he stopped using that in more recent publications.

[QOUTE]Infinite loops will compile.[/QUOTE]
One would hope so 



> You don't need braces in a for loop if there's only one line in the loop.


Omitting braces is sometimes (quite rightly) considered as bad style; makes for really ugly diffs if that one statement has to be changed to two or more; makes for even uglier pre-processor conditionals


----------



## maccatalan (Jul 16, 2002)

> _Originally posted by ladavacm, about MS Visual Studio _
> *Buggiest tty implementation coupled with probably the worst C compiler on the market with really lousy libc implementation (okay, they don't use that one a lot; MFC is better)*



Hey, be simple. Just look at the beginning : "MS". Isn't it enough to explain it crashes ? why it is bugged ? or anything bad else ?

never forget that : when your PC crashes, just look at the bottom left corner of your screen. What do you see ? the reason, the why, of the crash : Windows.


----------



## Captain Code (Jul 16, 2002)

> _Originally posted by ladavacm _
> *
> Ah, that.  Buggiest tty implementation coupled with probably the worst C compiler on the market with really lousy libc implementation (okay, they don't use that one a lot; MFC is better)
> *



Yes, like I said in my original message
"If you want to crash ANY PC, just code and run the following: "

I didn't say anything about Macs or Unix.



> *
> The error is in fact void main(); main() is defined by standard as int main(), and it is called as such in the hosted environment.  Some systems crash when you return from void main(), because the return value they expect is not there   void main() is typical Herb-Schildtism, but even he stopped using that in more recent publications.
> *



That's not an error.  You would be telling the complier that you aren't returning anything by saying void main().

All compilers I've used will compile this fine.  Maybe some won't, but I haven't come across it.

Most of the time I would use int main(), but for something as simple as the code I posted, it's not needed because the computer (PC) would crash anyways 



> *
> Omitting braces is sometimes (quite rightly) considered as bad style; makes for really ugly diffs if that one statement has to be changed to two or more; makes for even uglier pre-processor conditionals  *



Well, I think it's much neater if you just have a single line in the for loop, like
for(int i=0;i<10;i++)
     cout << i << endl;

or even an if
if(true)
     cout << "true" << endl;

there's no reason to waste 2 more lines for braces.


----------



## ladavacm (Jul 17, 2002)

> _Originally posted by devonferns _
> 
> Yes, like I said in my original message
> "If you want to crash ANY PC, just code and run the following: "
> ...


I am sorry; I could not realize that your definition of PC is "IA32 platform running MS-DOS".  Usual definition is much broader (and includes at least the Mac platform, as well as any number of UNIX(like) operating systems running on IA32)




> That's not an error.  You would be telling the complier that you aren't returning anything by saying void main().


C standard would beg to differ.  It explicitly defines only two forms of main():

int main( void );
int main( int, char** );

The reason being that main() is special (at least in the hosted environment; i.e. with runtime support present) being the entry point called by runtime, which runtime expects it to return an int and prepares the stack accordingly.  In most hosted environments this int is passed to the operating system with the semantics of exit status of the process, possibly to be interpreted further by invoking process (usually some form of shell script).

At best, your void main() will return a random value (indicating program failure in most cases, since only zero indicates success); at worst the process will crash at termination, taking the operating system with it (some embedded environments)



> All compilers I've used will compile this fine.  Maybe some won't, but I haven't come across it.



I guess you have never programmed in C on OS X: Apple gcc (December 2001 version) spits

```
void.c:5: warning: return type of `main' is not `int'
```
even without -ansi -pedantic -Wall (which is pretty much a minimum for portable C on gcc)


----------



## Captain Code (Jul 17, 2002)

> _Originally posted by ladavacm _
> *
> I am sorry; I could not realize that your definition of PC is "IA32 platform running MS-DOS".  Usual definition is much broader (and includes at least the Mac platform, as well as any number of UNIX(like) operating systems running on IA32)
> *



Maybe in  your mind, but if you ask joe blow consumer, a PC is a windoze computer.

I like to think that the Mac is something different than a windoze box, and should not be put in the same category as a "PC".



> *
> C standard would beg to differ.  It explicitly defines only two forms of main():
> 
> ...
> ...



All I said is that I've not come accross any problems with the compilers I've used, and that they didn't give any errors for me.


----------



## iconara (Jul 27, 2002)

Wired magazine had a nice article about programming languages in the latest issue, with a very nice chart over the most common and their relations.


theo


----------



## Trip (Jul 27, 2002)

> _Originally posted by iconara _
> *Wired magazine had a nice article about programming languages in the latest issue, with a very nice chart over the most common and their relations.
> 
> 
> theo *



I didn't see that article. Do you remember what it said?


----------



## iconara (Jul 29, 2002)

The programming languages family tree (not the one in Wired, but the original. Wired's was nicer, and had comments):

http://perso.wanadoo.fr/levenez/lang/history.html


I also found a site with a complete list of the major events in the history of programming languages:

http://www.byte.com/art/9509/sec7/art19.htm



The article in Wired also pointed to a site that had information on every single language ever designed (well, almost). I have the link somewhere, but not here... bummer, I'll edit this post as soon as I have it.

Did anyone know that there was a language called Cmm (or C--), that was the predecessor of JavaScript? And that there is a "C++ for the Internet" that features a Java-style virtual machine for platform independence?


theo

[edit: added links]


----------



## hydo (Jul 29, 2002)

> _Originally posted by iconara _
> *tip: ASP is not a language. *



I dont know about ASP but calling HTML is programming language is stretching the term to its absolute limits.

imho, of course.


----------



## monty (Aug 2, 2002)

I love the person claiming C is dead. That is one of the funniest things I've seen all day. You do realise that most of Mac OS X is writen in straight C, don't you? OS 9 was the same. In fact any Unix program worth anything is usually written in C. Hell, a lot of those other languages (python, perl, TCL, etc) are written in C.

C has to be the most popular language in existance. C has been around for over 3 decades and will be around for a while to come.

LOL


----------



## Dris (Aug 4, 2002)

There really should be an "Other" option...Anyone ever heard of HyperTalk?  LoL...And there's a whole slew of other languages that prolly not many have heard of.


----------



## maccatalan (Aug 4, 2002)

> _Originally posted by Dris _
> *There really should be an "Other" option...*



I think so.



> _Originally posted by Dris _
> *Anyone ever heard of HyperTalk?  (...) there's a whole slew of other languages that prolly not many have heard of. *



I don't agree with you. HyperTalk is famous. Maybe not "HyperTalk" itself, but at least "HyperCard" (people who knows HC don't necessarly know that the language is told HT). But it is known. It has been an example, a model for a lot of programmers and other languages (Lingo, AppleScript, ...)

But you're right, an "Other" option should be there.


----------



## Dris (Aug 5, 2002)

Well, HyperTalk wasn't the best example...How about Robocode?  Yeah, I think that one's probably pretty unknown to the majority.  Anybody heard of that?  Then there's languages we've all heard of, know, but forgot about...Like Logo...LoL...


----------



## wiz (Aug 23, 2002)

never heard of it...

but i've heard of an IBM project with the same nam: Robocode


----------



## naschbac (Sep 16, 2002)

C
C++
Embedded C++ (the C++ subset that IOKit uses)
ObjC
Java
Prolog
Lisp
SmallTalk
AppleScript
Pascal
Modula 2


And a few notes on the options:

You forgot C, unless you lumped it into C++, which you probably shouldn't have.

If you were going to include Pascal on the list than you probably should have had SmallTalk, Lisp and FORTRAN too.  Your omission of Prolog and Modula is probably reasonable though.  I must commend you on your avoidance of including Python in the list.

Also ASP isn't a programming language.  It's just HTML with embedded VBScript.  What you've done here is essentially call Java and JSP two distinct programming languages when the reality is that one (JSP) is just a markup description language which acts as a container for the programming language (Java).

And HTML is not a programming language, it has no assignment, no branching logic structures, and no looping structures.  HTML is a description/depiction language used to describe layout of text and graphics.  Kind of like how UML can be used to describe the stucture and layout of a computer program, but it is not itself a programming language.

-Nathan


----------



## cbaron (Sep 23, 2002)

Well, cannot tell all, you just let us choose in a small list.

I know ObJC, Java, C, Ada, Pascal, PHP...

At my university, we even learn everything needed to create new languages (a friend of mine started to work on a project named C*.


----------



## cbaron (Sep 23, 2002)

> _Originally posted by iconara _
> *I compiled a list with the languages I know, those I have looked at and those I don't know, but know of:
> 
> 
> ...



Ada ? Archaic ? it is only used by Ariannespace for their rockets!


----------



## cbaron (Sep 23, 2002)

> _Originally posted by devonferns _
> *It will compile and crash a PC if you compile it with MS Visual Studio.
> 
> The error you're talking about is probably in the printf() function, because I can't remember if there are any other arguments or not in that function.
> ...



In fact, this issue has been 'tested and approved' with EVERY compilers available for Windoze, this code work on any platform but Winsuck, it's a Windows issue...


----------



## Ibson (Sep 24, 2002)

Euhh...qu'est-ce que je parle? Anglais, français. Parlo italiano anche. Oh! You mean *programming* languages... C, Objective-C, PHP, HTML, basic CSS (not really programming, but hey, HTML is there), AppleScript, probably some other ones.


----------

