Miscellaneous Forums > Scripting and Reverse Engineering

Programming language flamewar!

(1/9) > >>

Let's have one...just for fun? We've already discussed programming languages in other threads, I just thought it would be a good idea to collect them all in one thread. So I'm actually trying to prevent flooding rather than causing it.My viewpoints:Assembler - No real point in using it anymore for most things. There are some places it should be used, but they are really rare. Modern compilers are sometimes better than humans in optimizing anyway.Visual Basic - Crappy language. Yes, it does give newbies a headstart, but not really more than Delphi does in my opinion. You can learn it in an hour, make programs in an hour, but after a month you spend more time fighting with the language than programming. Doing something advanced (editing FF files for instance) is not strictly impossible but tiresome.Delphi - Visual Basic the way it is supposed to be. Almost as powerful as C++ (there's not a thing you can do in C++ that you can't do in Delphi) and as easy to learn as VB. This is my favourite graphical tool: If my program is much about a user interface, I use this.C++ - The best! The cryptic syntax is bad because it scares newbies away, but is faster to type and has many really powerful features, of which I would mention templates and operator overloading as the greatest. IN Visual Basic some calls (like open) have special treatment, in Delphi some types (like string) have special treatment...in C++ nothing has special treatment, there's nothing in the standard libraries that you couldn't do yourself!! Also I really like the strong typing of the language (compare to Delphi, where you can typecast as easy as TButton(list[1]) and get loads of access violations) and the constness issues. But by now probably only the C++ people out there understand what I'm saying anyway...MS VC++ - Microsoft manages to do everything possible wrong in their MFC framework. They have esentially stripped away what is beutiful with C++, you have to program directly to the Windows API instead of using some middle-layer like the rest of the world does. I feel it's a bit prehistoric, really... Also, the compiler itself lacks a lot of C++ features (for instance decent template support).Borland C++Builder - Really horrible. Borland's C++ compiler is one of the best out there but using the Delphi VCL in C++ is just so wrong...C++ is type-safe, Delphi is type-weak...it's two colliding worlds! If you want to program with the fantastic VCL, use Delphi.Java - It's C++ done right in some cases, and totally wrong in other cases. It's good to get rid of the legacy C/unix/preprocessor stuff, but loosing templates, multiple inheritance and operator overloading isn't all that good...it's a little like Pascal with C++ syntax, meaning blending the bad things of C++ with the bad things of Pascal...but still it's me 3rd language of choice, I'm not really against it. I'm only against the Java hype...most people hyping it don't have a clue. At least in my experience. Perl - The beauty of this language is said to be the usefulness. As I look on programming as an art in goodprinciples and framework it really isn't what I'm looking for, but then again it doesn't pretend to be. Useful for dirty scripts...PHP - Probably the best web author tool out there right now, definitely my choice when making dynamic HTML.That's it...I don't know many more languages and haven't made an opinion about them.[EDIT:] How could I forget good old C?C is..well...C. I've never used it. I do know that it is faster than C++ (well, object oriented programming anyway, you can do C++ the C way) because the virtual functions cause the CPU to predict badly what will happen and not run as optimized. So C programming is faster (in two meanings of the word), but probably not as maintainable.And you can do OO in C, but why bother? It would mean extremely cryptic syntax...[This message has been edited by dagsverre (edited January 24, 2001).]

Assembler: Beautiful language. Fast and sleek. I learned 8088 asm then 6511. You have total control over every aspect of the system. If tere was ever a language to make the computer do what it wasn't supposed to, use this one right here!ANSI Standard C: Normal C. Not C++ not C# Awsome step up from assembly. You still have control over low level pointers to data and many fuctions have been pre-written fo you in the form of libaries. Also, if working with ANSI Standard C, you have a degree of cross-platform complience. Also the native language that Linux is programmind in, along with many apps for it.C++: Classes suck, overloading sucks, not able to use globals suck, objects suck, very bad implmantation of Object Orientated programming. There is a *far* better Object language below(I don't use Windows for programing, only linux, so I have no experinace wirh MS programs)Inform: Awsome Object orintated language that is used to program....Objects! Actully is's a cross between lisp and Zilch. It's used to make text-adventure games. I picked up in 3 days and was already doing fill Adventures.;Object Room
has light;
has object bed;Object bed
has container;See you already have an idea of what I just created. Perl: great for dirty shell scriptsPretty much asm and C for me thank you.-Halkun

Srethron Askvelhtnod:
I've only had brief experience with Pascal, and am just now learning C.Judging by my experience, I would agree that Pascal (and most likely Delphi) are what Visual Basic should have been.As for C, at first it's confusing as heck, then things start to make sense. Once you understand the messy syntax, it gets a lot better. The only problem is that many of the language's functions, etc. are too easy to forget.

The Skillster:
well, no comment from me...
Asm: is a nightmare to look at, but is the long way to do things as a newbie.
C: did this 1st smooth, solid, fast and has good libaries.
c++: not as easy to get into (i should know) and the classes structure has you up in arms for being a tad difficult. but it is the pro's choice.
vb: my main area, is simple to look at easy to get into, hard to get anything complex out of it unless u start using classes/objects and AciveX controls, but the class layout is a little more strighter than c++ and theres no brackets to write either!
java: never really touched it but its supposed to be similar to C++ and it sux with windows!! (cause of Bill gates!)
delphi: you know a delphi program when you see one  :D they all seem to use the same windows GUI libary or something

Yes, all Delphi programs use the same GUI library. The same as all other Windows applications: The Windows API.I could never tell the difference between a Delphi application and a VC. For instance Nemu (the famous N64 emulator) is coded in Delphi, you wouldn't know that by looking on it...Perhaps there is some common design twist among Delphi developers though. But have no doubts, I could easily make designs identical with Qhimm's programs', for instance.Halkun: Ok, my very biased counter arguments:Assembler: Well, try writing a large corporate application with a development time of about 2 years, then maintain that for ten years after that. Possible? I wouldn't say so...besides it's useless for me as it isn't cross-platform.The main thing I have against it is that more advanced stuff quickly get a little unmaintainable. It's very difficult to create bloat with it! This is a good thing for small stuff, but for huge projects you sometimes need the bloat. If you program something in ASM, then you abandon it and someone else must take over...someone who have no knowledge of your program...you'd better have things documented.Standard C: Solves all of the problems I mentioned in assembler. You can do everything with it, but programming stuff that are OO in nature (like widgets etc.) is a bit too messy for my taste. Yes, widgets can be done without OO...but what about widget libraries? Saying you've avoided OOP in a widget library would in 95% of the cases be a lie, you would have simulated the idea somehow.Inform: Looks great! Now program me Quake IV or an Office suite using it!Seriously, games will always have scripting languages and custom data files. The mere thought of programming the individual rooms in a programming language more advanced than the one you've shown perhaps shows your thinking on programming...the ASM way...We come from two different lairs here. I usually generalize everything in a project, I want everything to be customizable, EVERYTHING. You make things very specific, meaning you get things done fast and slick, but there's a higher chance you'll have to start from scratch next time. There's no telling what's best. I bloat and make stuff easy to maintain, you don't bloat and get things done fast. Am I right?There's a place and time for every language...Wait, I'm getting too friendly here. Here you go:Overloading is very neat. It isn't needed in a type-unsafe language though, and can be vedry dangerous if misused (all functions with the same name should do the same thing, only according to different types of parameters).You can use globals in C++, who told you otherwise?And about object-oriented languages: The Inform code you posted doesn't look very object-oriented to me, I think we define OOP in entirely different ways. To me (and most other OOP programmers), OOP means: Polymorphism.Polymorphism is the use of the virtual keyword in C++. Consider this code:class Widget
virtual Draw(Surface& surface) = 0;
}class Button : public Widget
virtual Draw(Surface& surface);
// Any Button properties
}class Edit : public Widget
virtual Draw(Surface& surface);
// Any Edit properties
}Now, no rendering code has to care if it deals with an Edit or Button. They're both widgets. In fact, anyone else which have never seen any of my code except the Widget declaration can easily create other widgets, and they'll fit into the rendering engine without any knowledge in the rendering engine about that particular widget (in fact, the rendering engine only knows about Widget itself). This is the reason I use C++. Any other object oriented language would do, but the more perfect languages are mostly academical, while C++ has huge library support (both C++ and C libraries) and is more widely used. Besides I fail to see the flaw in C++...


[0] Message Index

[#] Next page

Go to full version