Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   What is your most prefered programming language? (http://www.chiefdelphi.com/forums/showthread.php?t=15392)

Hailfire 08-12-2002 10:26

What is your most prefered programming language?
 
What is your most prefered programming language? Give reasons.

Brandon Martus 08-12-2002 10:51

Other: PHP :)

Mainly because I use it every day at work, and here, and for other personal sites.

For actual programs, though, I'd have to go with C++.

srawls 08-12-2002 11:05

Come on ... we need more options than that! Off the top of my head I'll add:
Haskell
LISP
Perl
Python
Parrot
Ruby
Scheme
Standard-ML
SMALLTALK

Of which I'd say Perl is what I use more often, but I really like Haskell (Scheme started me on functional programming). SMALLTALK is interesting too, right now I'm using SQUEAK (a deravitive of SMALLTALK) for a project, and it is really promising (though its a big headache most of the time!). Ruby also looks neat, but I've never programmed in it.

Now, to answer your real question :)

Favorite imperative language: Perl
Favorite functional language: Haskell
Favorite object-oriented language: Smalltalk

And if I had to pick one, I'd go with Perl.

Stephen, JAPH ;)

Trashed20 08-12-2002 11:10

i chose c++, but i like php, cause its pretty much the same with out includes and declaring variables. plus php has database support ;)

Mongoose 08-12-2002 13:02

C++, because it's what I've been raised with, and it's pretty fun, but recently I've been using Perl a lot. I'm surprised Perl isn't on there, considering it's got its own cult following. And remember, HTML is not a language.

-Eric

Joel J 08-12-2002 13:46

Trick question! I really don't know which language is my favorite, favorite. I really like PHP--so easy to work with. However, I could say that PHP came easy because of my background in C++. I really don't know.. PHP, C++, Java, Perl, which ever works best for what I am doing.

Jim Giacchi 08-12-2002 16:39

Come on guys, what about PASCAL;

Yes go programming class!!

rbayer 08-12-2002 18:16

Definitely need more options.

For the stuff I normally do, I like C++ (often just C). However, my favorite language is definitely Scheme in terms of the best "wow, that's really cool" factor. Other languages I use:

Java
Javascript (occasional)
Applesoft Basic
Assembly (if you can call it a "language")

seanwitte 08-12-2002 20:09

The right tool for the job
 
My favorite language is whatever is going to let me solve the problem in the least amount of time with the least amount of hassle. As a professional developer, nearly every time thats going to be a microsoft solution. I don't know of any tools out there that can match Visual Studio in terms of flexibility and reduced time to market.

A problem I see with a lot of people is confusing knowing the syntax of a language with knowing a language. Using C++ to parse a text file is pointless when you can write a shell script. Start looking at the language features and figure out why you're using something. Why are you really using C++, when maybe VB will provide a better interface in a fraction of the time?

I see a lot of people learning C++ on this board, which is great. The language is a lot more than just knowing where to put the curley braces. If you want to be stand out, grab a book on UML. Just my $0.02.

Greg Ross 09-12-2002 00:47

My "Other" is Delphi. It's object oriented; based on Object Pascal. I find it much easier to use than VC++ for "rapid application development".

Nate Smith 09-12-2002 07:24

Having worked with it since v2.0 Standard, I'm somewhat partial to VB...the new .NET release has a lot of nice features that I'm using to write an app that a lot of you here might like...but to keep this from getting too off topic, I'll leave it at that...

Matt Leese 09-12-2002 10:01

I definitely agree with using the right programming language for the job. Namely, at work I convinced them to switch from using PHP to C++ for a project (it was rather silly to be doing it in PHP; it was not for a web page). For most "fun" projects, I tend to use C/C++. I have to say that I'm a bit partial to assembly language however. Not that it gets things done quickly.

Matt

Sean Conway 09-12-2002 10:48

I definitely agree that the language should be selected to suit the job at hand. Having said that, I prefer:

C for embedded projects (small, fast, powerful)
VB front-end for GUI's (quick development), with C++ dll's doing the grunt work.

Quote:

Originally posted by Nate Smith
Having worked with it since v2.0 Standard, I'm somewhat partial to VB...the new .NET release has a lot of nice features that I'm using to write an app that a lot of you here might like...but to keep this from getting too off topic, I'll leave it at that...
.NET's CLR (Common Language Runtime) scares me.:eek: It's been touted as a "use any language, get the same results" type of solution. To me, that means a one-size fits all approach, which usually means making all of the compiled code bigger and slower. Other than that, .NET does have a lot of great new features.

My 2 cents.

Hailfire 10-12-2002 17:49

Quote:

Originally posted by srawls
Come on ... we need more options than that! Off the top of my head I'll add:
Haskell
LISP
Perl
Python
Parrot
Ruby
Scheme
Standard-ML
SMALLTALK

Stephen, JAPH ;)

Well, I don't know that many programs you know? I mostly know of the more common programs.

Chris Nowak 10-12-2002 20:03

Out of the two I know, Java and BASIC, I would go with Java just cuz I can actually use it.

srawls 10-12-2002 21:13

Quote:

Originally posted by Hailfire
Well, I don't know that many programs you know? I mostly know of the more common programs.
Oh, I don't know all the programming languages I listed, I just know about them, and figured others might have used them before. (except Parrot, I threw that in there for fun :) ... see this if you're interested).

I took a class last year on Scheme, and that started me on functional programming. Once we started writing parsers and compilers, I started getting interested in language development, and I think it's interesting to know different languages besides "C++, Java, VB."


Stephen

EStokely 10-12-2002 22:02

I have done alot of system level stuff under sys 7 on a Mac in Pascal and I have a soft spot for Pascal probably because of that.

If I had to pick though I would have to go with C++ but it does depend on what I am trying to accomplish.

Greg Ross from 330 reminded me about Delphi Object Pascal. I forgot about that. That had promise but I never got around to using it and now I don't get paid for that any more

Neal Probert 11-12-2002 08:58

Languages are Tools
 
While some folks are religious about their languages, I'm not. Programming languages are tools to accomplish the task at hand.

But, I'm not without prejudice. First of all, I don't like languages that are hard to read, especially those with tons of syntactic (syntoxic) garbage. Secondly, I pride myself on portable code so that it will compile and run most anywhere.

On Unix or Linux, it's usually C or C++. For scripting, I mostly use Perl and some sh (bash).

On Windows, the choices are Visual Basic or Visual C++ (not quite the same as portable standard C++).

For websites, I usually go with PHP or Perl plus Javascript.

For embedded or robotics programming, it'll be C with some assembly.

I would like to do more Java all around for portable applications on any platform.

I've done Forth and Pascal and other obscure or dead languages, but I don't waste my time with them.

Lindy 11-12-2002 17:10

C++, because I am a mindless conformist. Hey!

Is it wrong to like VB .Net also?

Nate Smith 11-12-2002 18:04

Quote:

Originally posted by Lindy
Is it wrong to like VB .Net also?
Not at all...it's my current language of choice...

VanWEric 11-12-2002 18:31

I went with C++ because i have made some fun stuff with it. I think for xmas ill teach myself Perl. If i ever figure out where to put it, ill post some of the apps ive written in C++. I like it because i can use all sorts of cool toys like openGL or winsock.

JJG13 11-12-2002 21:52

Go Pascal\Delphi!
My second favorite is C++.

I wonder who will ever say they love QBasic?

seanwitte 12-12-2002 11:48

QBasic
 
QBasic is free, easy, and can read and write to the parallel port without any extra library code. You can build an interface to the parallel port, offering I think 8 output pins and 5 input pins, for only a few bucks. If you add an AD converter and maybe multiplex the I/O lines you could have a pretty nice little robot controller.

Lindy 13-12-2002 03:07

Quote:

Originally posted by JJG13
I wonder who will ever say they love QBasic?

I lived, breathed, and ate QBasic in my elementary school days. My progression was along the lines of GWBASIC/BASICA -> QBasic -> QuickBasic/VB. QuickBasic... compiled programs... mmm.

It's so homely after the harsh syntax of C and the like. I miss variant data types and ridiculously loose typed casting!

Gobiner 13-12-2002 03:41

My favorite language is VB. How can you resist a script that Microsoft seemingly built for the single reason of allow virii to waste networks?
Doesn't anyone use Fortran anymore?

rust710 16-12-2002 19:22

Personally, Visual Basic. I know it is not the most powerful language but it alows me to do stuff without to much thought.

Hailfire 28-12-2002 19:01

I heard that Visual Basic was basically for web use and not really sufficient for anything else.

Brandon Martus 28-12-2002 20:37

Quote:

Originally posted by Hailfire
I heard that Visual Basic was basically for web use and not really sufficient for anything else.
Visual Basic is used to write applications. I've never heard of anything written for web use. Unless you're thinking about VBScript.

mikexstudios 28-12-2002 20:48

There is no *best* language because they are all tailored to do specific tasks. So the *best* language would depend on what you are planning to do.

For instance, if one want to write a program designed for speed (like a video encoder or 3d work) they might want to write parts of it in Assembly as it will give the smallest size program with the fastest execution speeds.

For the web, I would recommend PHP. I love Perl, but it wasn't designed for the web. Therefore, I have no choice but to go with PHP.

For Windows GUI programming, I would have to say Visual Studio 6.0 (VB 6, VC++ 6, etc.). .NET was proven to be MUCH slower in benchmark tests. Microsoft just wants to steal Sun Microsystem's share of the cross-platform and web market by .NET. Fortunately, they usually do things wrong, so I hope Java doesn't disappear any time soon. Even then, I dislike VB 6. VB generates ugly code and needs runtime libraries. VC++ has some advantages because it allows one to generate GUI's easily. Otherwise just pick up a Borland or GNU C complier and use the windows library to write the GUI.

For Linux or Unix server work, Perl rules in it's ease of writing code and it's power. One could use shell scripts to do the work, but Perl does it better.

For cross-platform programs, Java rules.

For exploiting and debugging programs, one would definitely need C and ASM.

Pascal is still hanging in there with Dephi (GUI programming) but I think it's dying out.

C++ is good for game programming and AP Computer Science Tests :) Otherwise, I (inject opinion) think it's crap. Use C instead. Linux was programmed on C and it doesn't seem to have any problems! (Yeah, yeah, but the arguement is always OOP...)

So that's my $0.03

mikeXstudios

mikexstudios 28-12-2002 21:01

Oops, I have to apologize to Neal. I took a while writing my post that I didn't notice that he posted first with basically exactly what I wrote.

mikeXstudios

gates_2 29-12-2002 06:59

come on guys, ASSEMBLY!!!!!!!!

haha, yea right, someday, however you can do just about anything, but it will take you a lifetime to do it.

Other then that, i really like Visual basic for application programming

Mongoose 30-12-2002 03:33

Actually, I just wrote Pong for my calculator in assembly today. The basics are pretty simple if you already know another language. It probably would have taken about ten minutes in C++, though. What's nice is that it's lightning fast (compared to TI-BASIC) and people can't mess up the source code. Plus it gains you a certain level of, shall I say, prestige.

I never really liked VB much, but I never really learned it either, ever since my buddy sent me an app with bazillions of modules and dlls and cabs and ocxs and whatevers... The app itself was pretty small, but all the dependencies were bloated.

randomperson 30-12-2002 18:58

hehe.. assembly language is the best in my opinion.. then C/C++.. but they're right, whichever tool gets the job done is the best one.

VanWEric 30-12-2002 20:26

bah! assembly is for wimps. if you want a real challenge, do it by tapping out zeros and ones with a paper clip soldered into your mobo. that is how real men do it.

please don't hurt me

rbayer 30-12-2002 21:22

A few notes on assembly:

First, "assembly" is not a language; it is a group of languages. For example, assembly for x86 processors is only vaguely related to assembly for embeded chips which is only vaguely related to other dialects of assembly.

Second, assembly still has uses! Assembly is the easiest way I've found to take advantage of 3dNow!/SSE instructions, which are very important to modern procesors.

Third, assembly is not any faster than any other language. For example, x86 assembly can be much slower than the equivalent C code if you turn on optimizations in your compiler. It's all in how you use it.

Fourth, EVERY programmer should learn some form of assembly. Until you actually get down to the nitty-gritty of running instructions one at a time it's hard to understand costs associated with various operations. If you want a good intro, check out Randall Hyde's Art of Assembly.

randomperson 30-12-2002 22:46

lol... coding in straight binary? i did that once actually.. for a MC6800 microcontroller i built.. but it kinda got annoying to set each bit so I got a hex switch to program the ROM.

Hmm.. it seems like everyone keeps emphasizing that no language is superior overall.. wonder why that is? It couldn't be because its true.. no, that makes no sense...

Matt Leese 31-12-2002 08:38

Quote:

Originally posted by rbayer
Third, assembly is not any faster than any other language. For example, x86 assembly can be much slower than the equivalent C code if you turn on optimizations in your compiler. It's all in how you use it.

That's a bit of a "urban legend." Hand-crafted assembly can be significantly faster than what is output by a compiler, even with all optimizations turned on. It's the simple fact that when writing in assembly you can tell the processor to only do what you really need it to do at a much lower level than that of a higher-level language.

That said, the most useful part of assembly these days is the fact that it will result in an executable of much smaller size. There's a significant amount of overhead involved with a higher-level language that can be avoided by writing in assembly. Now why does size matter with huge hard drives being cheap? Embedded systems.

Matt

rbayer 31-12-2002 11:13

Quote:

Originally posted by Matt Leese
That's a bit of a "urban legend." Hand-crafted assembly can be significantly faster than what is output by a compiler, even with all optimizations turned on. It's the simple fact that when writing in assembly you can tell the processor to only do what you really need it to do at a much lower level than that of a higher-level language.

That said, the most useful part of assembly these days is the fact that it will result in an executable of much smaller size. There's a significant amount of overhead involved with a higher-level language that can be avoided by writing in assembly. Now why does size matter with huge hard drives being cheap? Embedded systems.

Matt

I agree. Assembly can be faster than a compiled language. On the other hand, if you don't know what you're doing, you have the potential to royally destroy the processor pipeline. It's gotten much better with branch prediction, but it still isn't perfect.

Anyway, slashdot had a story a while back on tiny binaries using assembly. It's a good read and available here.

mikexstudios 31-12-2002 21:45

Quote:

First, "assembly" is not a language; it is a group of languages. For example, assembly for x86 processors is only vaguely related to assembly for embedded chips which is only vaguely related to other dialects of assembly.
True, but when people generally speak of Assembly they are speaking of the general language (usually pinpointing to the x86 architecture).

Quote:

Second, assembly still has uses! Assembly is the easiest way I've found to take advantage of 3dNow!/SSE instructions, which are very important to modern procesors.
Assembly always has its uses! Along with special instructions, one can use assembly to debug programs, write compact programs, optimized functions, etc.

Quote:

Third, assembly is not any faster than any other language. For example, x86 assembly can be much slower than the equivalent C code if you turn on optimizations in your compiler. It's all in how you use it.
That is not true (at least in my opinion). Assembly is faster than many languages especially interpreted ones. Assembly is faster than php, perl, java, visual basic, shell scripts, etc.

For instance, take a fairly moderate program (with some file writing, loops, function calls, and variable storage) and write one in C and write one in Assembly. The Assembly one will be faster. Why? Because one has total control over how the program is run in assembly. Therefore, there won't be junk code thrown in by the complier. The complier might make 10 jumps in the code to do something, while the savvy assembly programmer can do the same thing in 4 jumps. For small programs (like a print Hello World!), assembly might not make such a difference, but for larger programs, assembly's speed will shine.

Of course the problem is writing the program in assembly. It will take too long!

Steve Gibson of grc.com does an awesome job of writing Assembly programs.

mikeXstudios

ckim 31-12-2002 23:50

I must say my favorite language is C for programming almost anything and a lot of applications are written in including operating systems. For web programming php, although some argue perl is better php has better error handling in my opinion. For simple automated tasks on my machines I use either perl or bash scripts. For recursions I must say lisp is very cool. And a lanugage I find very cool is starlogo. You can simulate simulations and make every dot act according to it's properties. Although very little practical use very cool. When I used to use windows I primarily used visual basic. But now I think of it it's quite slow.

Mongoose 02-01-2003 01:02

Starlogo! I have fond memories of that... I can barely remember the instructions, but I can remember doing
Code:

create 1000
fd 1000

Which wouldn't lag the CPU down too much. Logo was what really got me into programming, because while everybody else was goofing off and playing Oregon Trail, I was making my turtles (they're not dots) do cool stuff. It's great for modeling cellular automata and live things in general, and also an excellent beginner's language, IMO.

Gary Dillard 02-01-2003 08:39

Quote:

Originally posted by Gobiner
Doesn't anyone use Fortran anymore?
I gotta laugh - for my Master's thesis a few years back (OK, more than a few) I had to combine an old optimization code I had written in Fortran with an new analysis code written in C++. It was easier for me to convert the C++ to Fortran than vice versa. I went to Barnes and Noble to get a Fortran book (mine was long since gone), and they looked at me like I was from another planet. Maybe there's a monk scribing them somewhere...

Does anyone remember APL? Even had it's own keyboard with special programming characters.

Ah, I miss punch cards.


OK, the old man will shut up now and go back to running his TRS-80.

EricS-Team180 02-01-2003 08:55

...and remember...its FORTRAN...not fortran:D

rbayer 02-01-2003 12:03

Quote:

Originally posted by Gary Dillard
I went to Barnes and Noble to get a Fortran book (mine was long since gone), and they looked at me like I was from another planet.

You mean they actually knew what the book was about? Wow, I'm truly amazed! :D

VanWEric 02-01-2003 20:03

I recently saw OpenGL running in FORTRAN. That threw me a bit

Suneet 02-01-2003 21:51

I noticed in this: http://www.chiefdelphi.com/forums/sh...threadid=15704 thread that someone was having trouble getting a button to open a window with Visual C++. With Visual Basic, we wouldn't even have to think about a simple thing like that. I've never used C++ (Otherwise, I only use JavaScript/ActionScript), but unless your program is running fast fourier transformations, doesn't Visual Basic seem to be a better choice for building Windows apps? Speed isn't*that* important here, as the stuff you're doing isn't that intense.

Go Flash MX! Coding in binary? /me shakes head

rbayer 02-01-2003 22:03

Quote:

Originally posted by Suneet
With Visual Basic, we wouldn't even have to think about a simple thing like that.
Yes, you would. When you're first learning any language simple things like that can be a pain--it took me three hours to figure out how to delete an entry from a tree view control when I first started.

As for VB versus VC++ in general, my biggest gripe with VB is that it has zero portability. If you write your C++ code correctly, you can very easily separate the MS specific portions from the core functions, making it much easier to port to other systems. RoboEmu only took a day-and-a-half to port to Linux because of this. If I had written it in VB, I would have had to start from scratch. On the other hand, VB does some things amazingly quickly and easily. At some point, I'll sit down and learn it a little better.

seanwitte 03-01-2003 08:29

threading
 
VB doesn't have built-in thread support and does not support inheritance. This is aggravating sometimes because it has partial support of interfaces. The only way I know of doing asynchronous processing with VB is to compile the forked portion into an ActiveX exe and use callbacks or events.

The .NET framework changes everything. There is no reason at all to code in managed C++, as far as I can tell. There is no runtime execution speed difference between managed C++, C#, and VB.NET. You can pick whichever you feel comfortable with and not be penalized.

Patrik 04-01-2003 18:54

The whole .Net architecture is a scary idea. It is generally working towards one thing, subscription based licenses. They want you to pay them so ammount of money per month to use office and of course this is not going to be a steady amount it will probably increase and will cost you even more.

The reason C# is about the same speed as C++ is because they both go through the same optimizer so of course they are about the same speed. It probably works the same as the GNU compilers work (Gnu FORTRAN and Gnu C produce similar results) But as someone stated they're both much slower than the 6.0 counterparts. FYI, compiled VB code has in general just been calls to the ol' VBRUNXXX.DLL and so it was never all that fast because it was jumping around in library calls. I think newer versions may actually compile but it's still at a high enough that the functions are very unoptimized.

Assembly is in general faster than compilers since most compilers are about a generation behind in generating optimized code (like the current generation of compilers can only generate optimized code for the P3 (except of course in the case of the Intel compiler which is usually ahead of the general compilers). Of course P4 has been out for a while now and this may not be so much the case anymore, but back in the day...

Best OOP: Objective C a more thoughtful hack than C++ IMHO and yes neither of them are new languages they're really just hacks that live ontop of C
Best Parser: Perl
Best Web: PHP
Best IDE: Project Builder from Mac OS X DK
Best for Games: C (C++ has too much overhead)
Best OS: Linux, leaning towards OS X
Best FPGA Programming: Viva

And of course Scheme and Lisp deserve mention, especially the MIT implementation of scheme. I did a Crypto course this semester and except for the parsing algo's used for the classic crypto systems I worked almost entirely in scheme. Scheme gets a lot of power of smart recursion, weak data typing, and from arbitrary data types. I think if you can program in this and an interative language well then you'll be a much more well rounded programmer.

Patrik

Adam Shapiro 06-01-2003 21:41

I guess my 1st choice would have to be VB since I have used it the longest (continuously). I do, though, enjoy working in C++ though it is definately a much harder language. Of course, Flash is always fun but not too powerful...

yaman 07-01-2003 01:28

:(
 
I think your choices aren't very extensive... you also forgot the most important one:

It depends on the situation.

Next time, don't forget PHP, Perl, Python, C, and all our personal favorites... assembly....


*rolls eyes*
No, I do not know asssembly.


Edit: Oh yeah and I forgot to mention, Java is evil and should be obliterated from the face of the earth. Thank you.

rwaliany 07-01-2003 01:52

Re: :(
 
Quote:

Originally posted by yaman


Edit: Oh yeah and I forgot to mention, Java is evil and should be obliterated from the face of the earth. Thank you.

Java has a slower run time and takes up more resources
therefore
Java = Time * Resources
Time = Money
Resources = Money
Java = Money * Money
Java = Money^2
Money is the square root of all evil
therefore money = evil^1/2
money^2 = evil^2/2
furthermore
java = EVIL

Yeah, theres not enough choices...

Order of prefeference....C, C++, PHP, HTML STUFF, Flash, Perl, ASP, JavaSCRIPT, PBASIC(pbasic even comes before java), Java (eww), VB (then vb the evil limited language, you can't use semi-colons!!!! And it brings up like 3 message boxes if you start coding in C for one second.)

Operating System: Linux > windows
^ greater than sign

I hate java, although my java game (AP CMPSCI) (beat up Mr. Lund) is quite fun...

Adam Shapiro 07-01-2003 20:28

I agree with your java theory. Java has a tendency to ruin the best coders... I would rather stick with the standards (Perl, PHP, etc.)...

Mongoose 07-01-2003 23:01

That java theory was actually first used for girls:
Girls = time * money...
Java is really slow and takes up a lot of resources on my computer; I remember bringing up the task manager and seeing that java.exe took 30 MB of RAM, which was by far the largest consumer of resources. I think I'll consider Java more seriously when they get it faster and more compact. I've been working Perl a lot lately and I've got to say that I'm spoiled by not having to declare anything except for #!/usr/bin/perl. But the pattern matching works like magic and I think it really is a practical language for extraction and reports.

rwaliany 08-01-2003 00:05

Quote:

Originally posted by Mongoose
That java theory was actually first used for girls:
Girls = time * money...

Hehe, so. It still works.

KrazyKarl 08-01-2003 08:59

COME ON EVERYONE!!!!!!!!!!!!!!!!!!!!


GO TI-BASIC

Matt Leese 08-01-2003 10:14

Quote:

Originally posted by Adam Shapiro
I agree with your java theory. Java has a tendency to ruin the best coders... I would rather stick with the standards (Perl, PHP, etc.)...
Perhaps you have a completely different idea of "standards" than I do. PHP isn't really a programming language. It's much more a scripting language (you don't tend to write programs in PHP, you write dynamic web pages with it; yes it is possible to write programs in PHP). Perl is also mostly a scripting language in that you tend to use it to automate tasks (again, not always; it's used more as a programming language than PHP).

I have no idea why you'd say Java ruins the best coders. Java is fairly good at teaching Object-Oriented Programming which is really a must when using structured design.

Matt

Brandon Martus 08-01-2003 10:22

Quote:

Originally posted by Matt Leese
Java is fairly good at teaching Object-Oriented Programming which is really a must when using structured design.
I agree, and evidently so do many colleges & universities. A lot of them start out teaching Java in their intro classes.

LBK Rules 08-01-2003 10:29

You forgot Visual Basic 6. (Not .NET)

jeremy562 08-01-2003 14:35

QBasic? Do people still use that? :D I know I did quite a bit, but after I learned some stuff that was actually useful, I haven't touched it!

My lang of choice is C++, and ASP or PHP for web scripting, depending on what the server is. I'm not a huge fan of Java, but J2EE is a pretty nice set of technologies.

I'm strongly against applets, however. The web was meant to be thin client! You can do just about anything with simple HTML/JS/CSS.

rwaliany 08-01-2003 16:38

Quote:

Originally posted by Matt Leese
It's much more a scripting language (you don't tend to write programs in PHP)

Is that everyone or just you?

Quote:

Java is fairly good at teaching Object-Oriented Programming which is really a must when using structured design.
True, but it makes them lazy. They never have to worry about turning an integer into a string, etc...
If they now have to learn C++/C for the business world, they will hate not having a built in function to do it for them, and maybe transpose that hate to C++...

I have a strong C background. Before I used c++, I didn't mind malloc, calloc, free, memcpy, etc... Now that I've been programming in C++ for quite some time now, spoiled by the new and delete commands, it's hard for me to actually program in C. I still can but it's like "why do all the trouble and memory managing when you can do the same thing in c++ with no worrying."

I can't imagine how hard it would be for someone to switch from java to c++, c, or asm.

Adam Shapiro 08-01-2003 19:30

Quote:

Originally posted by Matt Leese
It's much more a scripting language (you don't tend to write programs in PHP, you write dynamic web pages with it; yes it is possible to write programs in PHP).
I do agree that Java can be a good language sometimes but I consider Java as more of a web-based language and the internet was made for scripted interfaces. You can create nice, helpful interfaces using Flash with Perl for server-side scripting with a lot less trouble than Java. I'm not knocking Java but I would rather go with something else...

For client-side programs, I would rather use c++. I like the c++ interface a lot more...

rbayer 08-01-2003 22:43

I'm surprised nobody has mentioned one of the best things about Java: it's fully portable. Yes, you can use libraries like Gtk or Qt in C/C++, but those are usually hideously ugly and a pain to install on anything except *ix (n left out to include Irix).

You write one program in Java, it runs on all the major platforms, and all the major architectures. No recompiling, no library dependancies, just pure, beautiful object code.

Also, the argument that Java is slow is becoming less-and-less valid as JIT compilation becomes more-and-more effective.

Personally, I love Java. For what it does, it's one of the best, if not the best languages out there. On the other hand, it is not designed for simple text-based apps, nor is it designed for super-complex stand-alone apps.

Finally, as for the whole "standards" thing: Java is far more of a standard than VB ever was or will be. Also, Java was documented and standardized long before there was finally an ANSI C/C++ standard.

Rickertsen2 08-01-2003 23:15

favorite to write code in: PHP, Java.
favorite "real" language: C++
Least fav: asm
I would go into the reasons why i like PHP, C++, and JAVA but im am way to lazy right now.

I must admit i am also guilty of occasionally using VB:rolleyes: to code small windows appz.

Clanat 11-01-2003 15:13

I don't see why everyone likes all the other languages besides pbasic, I don't see anyone programming their robots in c++ or VB.

Brandon Martus 11-01-2003 15:54

I believe this was a question about programming in general, not robot-specific.

Anarkissed 11-01-2003 15:57

mmm C and C++ are tasty :D

java is one of my personal favorites for web applications

perl for everything else ;)

*ponders*


:]

jeremy562 13-01-2003 12:00

I don't know if anyone actually *likes* PBASIC.. but it's a decent language to get a niche job done quick and dirty. No one is going to write any enterprise applications in PBASIC any time soon.

The new additions to the syntax in 2.5 make it MUCH more similar to most other languages, which is a great thing.

Morgoth 14-01-2003 19:50

Personally I'm a C++ kind of guy. I like messing around with OpenGL. Making demos.

Aureus 14-01-2003 20:32

My favorite language would most definitely have to be C++. I've been using it for quite a few years, and I've grown quite used to it and some of it's features, such as being able to compile on different operating systems. However, for quick development, that is, being able to start and finish a minor project in the same hour, nothing seems to be able to beat visual basic. Not the most powerful language I've ever seen, but it's ability to produce windows-compatible applications complete with a professional-looking GUI is quite amazing.

Zmeko 15-01-2003 01:55

Quote:

For cross-platform programs, Java rules.
Ha aha Ha!!!!

Really?

Oh my god. mary, mohamad and Xenu should re-educate you...

Since when is Java a cross-platform language?




Quote:

Java isn't platform independent; it is a platform. Like Windows, it is a proprietary commercial platform. That is, you can write programs for Windows/Intel or Java/JVM, and in each case you are writing code for a platform owned by a single corporation and tweaked for the commercial benefit of that corporation. It has been pointed out that you can write programs in any language for the JVM and associated operating systems facilities. However, the JVM, etc., are heavily biased in favor of Java. It is nowhere near being a general reasonably language-neutral VM/OS.
Quoted from the most important person in the computer programming world: Bjarne Stroustrup .

Oh well, any ways, i am a retarded baptist and i would like to know if the linux kernel, it self, is consider be an operating system?

and, uhm, say if i was to download the linux source then modify it and screw around with it, would you still consider linux better then windows?

Anyways, please note that i am not anti-o/s but i just want to make sure i have my facts right...

rbayer 15-01-2003 02:58

Quote:

Originally posted by Zmeko

Since when is Java a cross-platform language?

Ever since I can write a program with a GUI and compile the same source code on just about any platform without putting #ifdefs around everything. If Java isn't cross-platform, then what is? And don't say "C/C++" because you can't do Jack without platform-specific libraries (MFC, X11, etc) or messy "cross-platform" libraries like Qt, Gtk+, Tcl/Tk, etc.


Quote:

Originally posted by Zmeko

Quoted from the most important person in the computer programming world: Bjarne Stroustrup .

That's a little presumptuous. I'd argue that the orignal Xerox team that came up with the first graphical OS was much more important. As were the people who helped move computing from the business world into homes (read: Steve Jobs, Compaq, etc).

Quote:

Originally posted by Zmeko

Oh well, any ways, i am a retarded baptist and i would like to know if the linux kernel, it self, is consider be an operating system?

and, uhm, say if i was to download the linux source then modify it and screw around with it, would you still consider linux better then windows?

Anyways, please note that i am not anti-o/s but i just want to make sure i have my facts right...

My take would be that yes, the Linux kernel is an OS. After all, it can run your computer and execute other applications.

If you download Linux, screw around with it, and then recompile it, it's no longer Linux. It's now your custom code based off of Linux. Anyway, this is kinda like asking "if I went in and randomly changed a few bytes of user.dll, would you still consider Windows to be better than DOS?" Even so, I would still consider your version of Linux to be better than Windows for the simple reason that I could take your source code, fix it, and have it working again if I chose to.

--Rob

VanWEric 15-01-2003 07:00

It is always fun to watch rob deal with a newb. Usually he can keep his cool, but not always. Rob, you are hilarious.

Zmeko 17-01-2003 16:07

Quote:

It is always fun to watch rob deal with a newb. Usually he can keep his cool, but not always. Rob, you are hilarious.
Yep, Rob, you are truly hilarious.

Now where should I start arguing Rob’s propositions.
Should I state that Java code runs on a VM? Or should I state the facts of the “Level of abstraction”. No, I got it, I should argue the fact that he had misread my statement.
Quote:

[QOUTE]
Quoted from the most important person in the computer programming world: Bjarne Stroustrup .
That's a little presumptuous. I'd argue that the orignal Xerox team that came up with the first graphical OS was much more important. As were the people who helped move computing from the business world into homes (read: Steve Jobs, Compaq, etc).[/quote]
Where did I state the Bjarne was the most important person in the computing world?
Eh, we Canadians Baptist must be blind!

Quote:

Ever since I can write a program with a GUI and compile the same source code on just about any platform without putting #ifdefs around everything.
When you compile Java code for the JavaVM, the compilers compiles it to Java Byte code. Byte codes are like Opt codes except java byte codes can only run on the JavaVM.
JavaVM adds a level of abstraction or a layer that the code runs on. Java, like you said, can compile the same source code for any version of the JavaVM or any port of it. Java it self, compiles code that’s dependent to the JavaVM. JavaVM in this sense is a platform, the compiled Java code doesn’t run on the system but rather on the JavaVM. The JavaVM runs on the system, have you read Design Patterns (ref: Proxy (207)). Proxy design is like the design used in the JavaVM. The proxy objects allow accesses of many objects indirectly. JavaVM has objects that mirror the systems API.

Quote:

If Java isn't cross-platform, then what is? And don't say "C/C++" because you can't do Jack without platform-specific libraries (MFC, X11, etc) or messy "cross-platform" libraries like Qt, Gtk+, Tcl/Tk, etc.
You like you said, “ you can’t do jack without platform-specific libraries…”. Java also can not do scat without platform-specific libraries, but in java you do not have direct accesses to these system dependent APIs. You have accesses to Java’s API, this API is handled by the VM and the VM interface with the system.

Now, I don’t understand what I can not say C/C++ is the closet thing, right now, to a cross-platform language, either way; I challenge your arguments and thus I should able to challenge your statement, “And don't say "C/C++"” (Ala, you have not provide any adequate proof that your statement is fact).

C/C++ is more of a cross-platform language then java, because when the compiler compiles its code, they compile code that the native system can understand, java compiles byte code that depends on the JavaVM which could reside on or above the: services/daemons layer or application layer. When you run C/C++ code, the code can run on the kernel level, daemon/service level, application or any other layer/level. I know for a fact you can create an application that can ask a file for an entry point then continue executing the code from there, this could add another layer of abstraction.

You can do a lot with a ported version of the standard library, but you are right when you say that you need system dependent API to do GUI. I guess I can safely assume you do not know what controls the GUI drawing API in an operating system, I can assume this by what you have stated, “(MFC, X11, etc).”, MFC and X11 isn’t anything a like, one is a wrapper and one provides API for drawing, I will let you guess which one is which.

Most the daemons or services written are written in C or C++. These daemons are executed by the kernel, the daemons run services like: apache for http server or ftp services, in windows daemons are called services. Without these services you can not do much. This daemons/services are vital to an operating system and it is one of the components that make an operating system operate.

Quote:

If you download Linux, screw around with it, and then recompile it, it's no longer Linux. It's now your custom code based off of Linux. Anyway, this is kinda like asking "if I went in and randomly changed a few bytes of user.dll, would you still consider Windows to be better than DOS?" Even so, I would still consider your version of Linux to be better than Windows for the simple reason that I could take your source code, fix it, and have it working again if I chose to.
Not really, who says that I have to release the source code of my modified version of the kernel and who said that a modified version of the kernel isn’t still linux?

Anyways, I wrote enough about this, here some links:.
Linux for newbies

If you wish for further proof of my statements, please do not be afraid to ask.
Rember, this isn't my vocation...
Nor i think it's yours, but it's only me opinion.

roninmedia 18-01-2003 14:11

My preferred programming language is PHP. I worked as a databse developer.

Zmeko 18-01-2003 15:46

I use Zend's PHP IDE, i like because it has a lot of neat features.
www.zend.com

n0mar 18-01-2003 17:32

AP Computer Science
 
Quote:

Originally posted by mikexstudios

C++ is good for game programming and AP Computer Science Tests :) Otherwise, I (inject opinion) think it's crap. Use C instead. Linux was programmed on C and it doesn't seem to have any problems! (Yeah, yeah, but the arguement is always OOP...)

mikeXstudios

As of right now I'm taking AP Computer Science and yes the course is still taught with C++ but that's about to change. Starting next year AP Computer Science classes will be taught using Java. I think I'm glad I'm taking it year and learning C++ instead.

maDGag 19-01-2003 01:14

SQL
 
---->SQL<-----

by far the best. watever ur doing it, do it in SQL.
u won't find anything more logical, easier, and more useful

ASP.NET
VS.NET
JAVA
C++
VB6

FotoPlasma 19-01-2003 05:58

Quote:

Originally posted by Zmeko
...Where did I state the Bjarne was the most important person in the computing world?...
First, to respond to this segment alone, you originally said...
Quote:

Quoted from the most important person in the computer programming world: Bjarne Stroustrup .
I don't understand you. First, you say that Bjarne Stroustrup is "the most important person in the computer programming world" and then you ask "Where did I state the Bjarne was the most important person in the computing world"? Uh... My mind is about to core dump... I think you're going to be the death of me.

Second of all, you do understand that you're lecturing a person who wrote and maintains more than a few programs to perform various tasks concerning the Innovation First control system for Linux about Linux and programming, right?

I mean, not that I consider myself knowledgeable enough to refute any of your statements, or even to properly respond, but it seems to me that from a spectator's point of view, if you actually did realize the facts stated above, you were just being condescending and intentionally offensive when you cited a link to a "Linux for newbies" page... Not very cool, in my humble opinion. And even if you didn't know, you're acting as though you're superior, and are pointing a n00b in the direction of a manual, dismissively. Again, not very cool.

Whatever...

I like PBASIC. Or C. I use PBASIC more.

AndyTriboletti 19-01-2003 10:09

<?php
echo("php rocks!");
?>

Zmeko 19-01-2003 15:56

Quote:

I don't understand you. First, you say that Bjarne Stroustrup is "the most important person in the computer programming world" and then you ask "Where did I state the Bjarne was the most important person in the computing world"? Uh... My mind is about to core dump... I think you're going to be the death of me.
What i said was that Bjarne is the most important person in the computer programming world. What i didn't say is that he is the most important person in the computer world.

maDGag: what do you mean as vs.net?
isn't .net a platform?

FotoPlasma 19-01-2003 17:05

Quote:

Originally posted by Zmeko
What i said was that Bjarne is the most important person in the computer programming world. What i didn't say is that he is the most important person in the computer world.

He never accused you of saying anything like "Bjarne is the most important person in the computer world." He just said that he disagreed with your decision that he's "the most important person in the programming world," and gave his reasoning.

I'm still confused by your train of thought.

ChewyMasterFlex 19-01-2003 17:12

TI Basic, my friends...:D

Cheese Head 19-01-2003 17:45

Hmm
 
It is kind of a tie between C++ and Java, but I'll say C++
main(){
cout << "I use C++! Bow before my fictional might!\n";
cout << "Bwahahaha!";
return 0;
}

Zmeko 19-01-2003 18:01

What language did Steve jobs created that is used today?
Quote:

http://www.apple.com/pr/bios/jobs.html
Apple ignited the personal computer revolution in the 1970s with the Apple II, and reinvented the personal computer in the 1980s with the Macintosh. Today, Apple remains committed to creating the best personal computers in the world, and its hardware and software products are widely regarded as being the most innovative in the industry.


Quote:

He never accused you of saying anything like "Bjarne is the most important person in the computer world." He just said that he disagreed with your decision that he's "the most important person in the programming world," and gave his reasoning.
His reasoning did not challenge my statement, his reasoning could've challenged the statement of "Bjarne is the most important person in the computer world".

The computer world includes and not exclusively only: Software: Games, Operating Systems, Language design and what not. Language design, again can be broken down into sub categories.

I do not think it's possible to compare Steve jobs with Bjarne or the Xerox team.
All of them are important in their particular field.


FotoPlasma, his reasoning does not attack my statement.
My statement, I when I stated I assigned it as true.
When he disagreed to my statement he did not provide any adequate proof to change my statement to false. But his reasoning could have provided proof to challenge, in my opinion, the statement, "Bjarne is the most imprtant person in the computer world". If i stated that statement rob's reasoning would make that statement false, thus making rob correct. But the problem is that i have not stated that and he has not challenge my statement.

When i say challenge it means when you try to change the current statement value (FALSE or TRUE) by taking into account of the statement you presented.

here is how it would look like in C


PHP Code:

#include <stdio.h>
#define TRUE 1
#define FALSE 0
typedef unsigned char    boolean//1 byte on my system.
int main(int argcchar *argv[])
{
    
boolean my_statement;
    
boolean rob_statement;
    
//the statement
    
my_statement TRUE;

    if(
rob_statement == TRUE)
        
my_statement FALSE;
    else if(
rob_statement == FALSE)
        
my_statement TRUE;
    else
        
my_statement my_statement;
    
printf("my statement = %d (%d = true, %d = false)\n"my_statementTRUEFALSE);


until you directly dispute the statement, the statement doesnt change. Rob didn't dispute my statement.

Brandon Martus 19-01-2003 20:26

How about we go back to 'your most prefered programming language' and just forget about it?

Zmeko 19-01-2003 22:51

Anyways, my the language i really like the most is: C/C++.

Team852 (DB) 20-01-2003 12:53

Favorite Programming Language? How about two?
 
Other: ANSI Standard C or NEXTSTEP's Objective-C (specifically, the version currently used by Apple)

You gotta love procedural programming. Unfortunately, no one knows how to use it properly anymore, you can't have C++ geeks programming in C and also expect the code to come out clean, or the programs more efficient.

When it comes to Object-Oriented languages, take Objective-C, the most versatile, best-designed object-oriented language available to date. Messaging wins over functions as class members any time. The other thing, run-time typing; id allows you to specify a type to be resolved at run-time, allowing more freedom in your code.

- DB

Um, I understand that PHP, Perl, Ruby, Small Talk, and the rest are considered 'scripting languages', and cannot truly be used to write Real programs? Or am I wrong?

Zmeko 20-01-2003 14:23

Re: Favorite Programming Language? How about two?
 
Quote:

When it comes to Object-Oriented languages, take Objective-C, the most versatile, best-designed object-oriented language available to date. Messaging wins over functions as class members any time. The other thing, run-time typing; id allows you to specify a type to be resolved at run-time, allowing more freedom in your code.
[/b]
when you said "resolved at run-time", what do you mean?
it allows you to "cast" a type at run-time? i think C++ can do this with dynamic cast, but i am not 100% sure and if you are talking about OO, do you think casting shouldn't be a part of any good OOD?

I think C++ is better since both Objective-C and C++ support RTTI. Unless resolved at run-time means something that isnt RTTI

Team852 (DB) 21-01-2003 19:44

[i]id[i] as specified by Apple, is a pointer to an instance of a class.

Resolved at run-time refers to the fact that the reciever of a message does not know the type of an object until it is passed one at run-time. However, it is also possible to require a specific type, to enable better compile-time checking, and this is highly recommended.

Here's the format of an Objective-C message, with 2 arguments:

[myInstance arg1:(id)foo arg2:(UniChar)bar];

- send a message to myInstance, which, we assume has been defined such that it can recieve it. Arguments are: foo, which is of unknown type, and bar, which is of type UniChar.

The above is the moral equivalent of

function(void *arg1, UniChar arg2);

id differs from void, I'm just not entirely sure of the how at the moment. I'm still somewhat new to Objective-C.

- DB

Raven_Writer 16-09-2003 19:49

I chose C++ mainly because it seems easiest to me. It'd also chose PHP, Perl, ASP, and a bunch of others if they were there.

KWachowski27 16-09-2003 21:35

Assembly... why not?

Rickertsen2 16-09-2003 21:44

I'd choose PHP, but thats not a choice and i guess it might not be considered a "real language" I also like C++, although i have never gone very far beyond simple command line apps, or DLLs to use in VB. I hope to find time to begin learning vc++ soon. Don't laugh but i also like VB (although it is quite restrictive).

golf_cart_john 17-09-2003 08:13

C++ is my favorite, but JavaScript is good too. C++ is my favorite language for programs, while JavaScript is my favorite for web pages.

piotrm 17-09-2003 11:22

Perl and C (not C++)

Venkatesh 17-09-2003 18:42

x86 assembly... really.

x86 assembly is an arcane language reserved for those who are seriously without judgement, and its very elegant. Programming in assembly is unmatched by programming in any other language. No object oriented stuff here. No typedef. No nonsense.

Except BBW (Branch both ways).

Angela06 17-09-2003 21:12

I like Basic and Java or what ever gets the job done

av11d 25-09-2003 20:39

Objective-C
 
Obj-C is awesome. Originally from the NeXTStep days, and now the preferred language for programming with cocoa classes. It's similar to C++ in that its an object oriented superset of C, but it's so much more powerful. You will NEVER rewrite the same line of code twice. Elegant and straightforward, and completely meshes with C. All C code works in objC documents. It's just a natural extension.

Matt Leese 26-09-2003 08:09

Re: Objective-C
 
Quote:

Originally posted by av11d
All C code works in objC documents. It's just a natural extension.
Not quite. I'm not particularly familiar with Objective C but there is at least one incompatibility with regular C. The major advantage of C++ over Objective C was the fact that C++ was completely backwards compatible. And that's why C++ is much more popular than Objective C.

Matt

Team852 (DB) 26-09-2003 12:03

Obj-C and C++
 
Actually, I don't know of any backwards-compatibility problems with Objective-C.

There is the issue of loading standard UNIX libraries on Mac OS X, but that's not a problem involving Objective-C itself.

All C functionality can be used in Objective-C code. There is a main() function that works just as you would expect. You can freely intermix C and Obj-C.

Think of Objective-C objects as wrappers for functions and data.

So, instead of:

int foo;

int setfoo(int value)
{
foo = value;
}

int readfoo()
{
return foo;
}

setfoo(23);

printf("%d", readfoo() );



You would declare on Obj-C object:



@interface myObject : NSObject
{
int foo;
}
- (int) readfoo;
- (int) setfoo:(int)value;
@end

@implementation myObject

- (int) readfoo
{
return foo;
}

- (int) setfoo:(int)value
{
foo = value;
return foo;
}
@end

-------------
The above code encapsulates the variable foo, and all functions to work on it, in an objective-C object.

Now, to read the variable foo, and print it with printf, I can do the following:

printf("%d",[myObject readfoo]);

As you can see, it acts just like the C function that I wrote above, readfoo().

In this light, Objective-C is used to encapsulate all variables, and the operations on those variables in a single object. Furthermore, the @interface section can be placed in a header file, so all the developer has to do is find the object they want to use in that header file, and look up the methods they wish to call, and all the syntax therein. They don't need to know about how the object goes about its business. All they need to know is what the object returns, and what variables it expects on input.

You do not have to declare all methods in the interface either.

Also, it is OK to call a method that may not have been declared for an object.

It is also possible to intermix Obj-C and C++, though you cannot use a C++ object as if it were an Obj-C object.

I have not listed all of the advantages and points about Objective-C, please visit: http://developer.apple.com/documenta...al/ObjectiveC/
for more information on the Obj-C language.

You may notice that Objective-C does basically the same thing as C++ using object encapsulation. I believe that it does it in a cleaner, more understandable manner.


All times are GMT -5. The time now is 18:19.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi