What Languages Do YOU Know?

What type of junky are you?

  • C++

    Votes: 54 58.7%
  • Objective-C

    Votes: 39 42.4%
  • Java

    Votes: 53 57.6%
  • AppleScript

    Votes: 33 35.9%
  • Perl

    Votes: 35 38.0%
  • BASIC

    Votes: 44 47.8%
  • VisualBASIC

    Votes: 24 26.1%
  • ASP

    Votes: 12 13.0%
  • HTML

    Votes: 78 84.8%
  • Pascal

    Votes: 26 28.3%

  • Total voters
    92
  • Poll closed .
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).
 
'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
 
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
 
Originally posted by devonferns
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

??? 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.
 
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.
 
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 :)
 
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.
 
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 :p


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.
 
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 didn't say anything about Macs or Unix.
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
Code:
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)
 
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.
 
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
 
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?
 
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]
 
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.
 
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
 
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.
 
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. ;)
 
Back
Top