View Full Version : Programing Languages?
kis2005
13th January 2006, 17:23
I'm interested in programing and I've looked at various languages, but I'm unsure which would be a good place to start. I use Win XP Pro heavily for all my work. I have a copy of Visual Studios.Net 2002 and Dev C++ versions. I know there is more out there and anything I do will most likely lend to my Video and Audio interests. I'm just looking for any suggestions at this point. The only code that I worked with in the past is HTML and JavaScript, and a little Visual Basic 6...I still have a copy of that as well. Any Suggestions???
masken
13th January 2006, 17:36
Are you going to work with programming? If so, I'd ask myself, what do I want to work with?
[)370|\|470!2
13th January 2006, 17:39
Asm imho is teh most powerful. But it's quite tough for beginners(and not only
beginners :D )
Doobie
13th January 2006, 18:03
Duh. C/C++
The newer internet oriented languages are slow, bloated, and weak. The "easier" languages (e.g. Visual Basic) are usually also more bloated, and much less popular (how many open source programs are written in Visual Basic?).
In the old days, I would have agreed with [)370|\|470!2, ASM. ASM still rules for hacking and squeezing out performance. But, modern processors aren't so ASM friendly and Windows sure as death and taxes isn't ASM friendly.
stax76
13th January 2006, 18:57
If you don't use VB6 you can't hardly pick something wrong, just ensure you learn new techniques and if possible new languages from time to time. Very easy and thus suitable for novice users is VB .NET, pretty much hardcore is C++ and ASM but if you got enough motivation you even might get happy with that though it makes only sense for specialized tasks. Naturally it's best to start with something easy and once you master it try something harder.
Eretria-chan
13th January 2006, 19:08
Making a transition for VB to can be C/C++ very hard. Best start of from the scratch of the language of choice - which would preferbly be C++. .NET languages requires users to have the .NET framework plus it's slow and also decompileable.
C++ is the best language out there - and if you want a little extra speed - you can easily integrate asm since that's what native languages work from.
Latexxx
13th January 2006, 19:42
Asm imho is teh most powerful. But it's quite tough for beginners(and not only
beginners :D )
Our university starts with c++ and even before the first c++ course has ended begins a course called Microprocessors which focuses solely on programming Renesas H8S family using only assembly. Call that a crash course for people who haven't programmed before.
Swede
13th January 2006, 19:50
Beeing an old geezer I can still enjoy stories like The puzzle (http://www.folklore.org/StoryView.py?project=Macintosh&story=Puzzle.txt&sortOrder=Sort%20by%20Date). Learning to program is all about *why* and *what*. There is no need to use asm and a 600 byte limit if you're gonna do a inhouse-calendar but if you're aiming for a job at the Pacemaker Medical Group then you'd better learn how to write bugfree, realtime, lifesaving code..
charleski
13th January 2006, 20:15
If you want to learn programming you should realise that the language you use is really secondary to the underlying philosophy. There are several approaches: procedural, object-oriented, list-based, etc. The language you use is just a tool to implement whichever approach you want to use.
Since object-oriented programming has become the dominant force over the past 20 years, it's a good idea to learn on an object-oriented language, like C++, C# or VB .NET. C++ is the most commonly used, but frankly uses a truly awful orthography than can be confusing for a beginner. C# has a better basic design, but restricts you to .NET applications under Windows, which is not a problem if those are the sort of programs you'll be writing - the Visual Studio IDE (Development Environment) is also recognised by many as the best available on any platform, and a good IDE definitely helps with the more mundane tasks.
Latexxx
13th January 2006, 21:09
Since object-oriented programming has become the dominant force over the past 20 years, it's a good idea to learn on an object-oriented language, like C++, C# or VB .NET. C++ is the most commonly used, but frankly uses a truly awful orthography than can be confusing for a beginner.
C++ isn't strictly object-oriented but multi paradigm and that is what gives it immense competitiveness but makes the whole language look confusing if you don't understand it and just think how many ways there are to do one thing. Yet I'd say that it is easier to learn C++ than C because you can use C++ much like C but have some nice things like strings and vectors atop code that basicly looks and feels like C.
weaver4
13th January 2006, 22:26
If you are planning on writing code for the PC I would recommend that you write in a language that supports the .Net Framework; either C#, VB.net or even Delphi.Net. Knowing this framework seems to be more important than which language you attack it from. One exception, if you are planning on writing drivers for the PC you should learn C and C++.
If you are doing embedded code learn C.
BTW: this is a very controversial topic, you won't find two programmers (I am a programmer) that agree with one another on this topic. One thing you might do is go to dice.com and monster.com, look at job openings then decide.
Richard Berg
13th January 2006, 22:56
C/C++
The newer internet oriented languages are slow, bloated, and weak...
I found this amusing. I love C++, but you can't possibly dispute that it's the most bloated programming language in existence.
kis2005: go here http://mitpress.mit.edu/sicp/
Doom9
13th January 2006, 23:00
Isn't ML THE OO language? It's not widely used, but it's the purest thing, and it tends to make people write less buggy code for some wicked reason.
I learned the OO basics from OO Pascal, went over a little C++ (at the time still in dos.. it's fun to make your machine reboot every 5 minutes ;) to Java and C#. I stick with the latter two. Had to learn C at college as well and wrote some pretty nifty stuff with it, and in the end I can't say it hurt learning the nasty stuff, even though it wasn't fun. But in the end, when I can avoid memory management I try hard to.
kis2005
13th January 2006, 23:43
I think I'm more confused then I was... Actually since I do have Visual C++.net (actually the Visaul Package) and a few books I'll start there, but since this is for me and not a degree I can look at some of the others as well. I don't want to get to crazy, because I'm not really sure why I want to learn some basics other then for curiosity sake. But I do appreciate the suggestions and any sources or books that anyone can recommend (perferably with projects) would be appreciated.
stax76
14th January 2006, 00:31
Visual Studio 2005 and SharpDevelop 2.0 are free and imo the best IDE's. Do you know already what kind of application you want to code?
foxyshadis
14th January 2006, 01:03
Ask a dozen people what the best programming language is, and you'll get at least a half-dozen different answers. ^.~ I'd suggest Haskell or XSLT as a way to get some perspective on functional languages, at some point; it will be directly useful for writing event-driven software and indirectly change the way you approach some problems later on.
Doobie
14th January 2006, 05:39
I found this amusing. I love C++, but you can't possibly dispute that it's the most bloated programming language in existence.
When I say bloat, I don't just mean size of program code, but other factors, such as speed of execution. C++ is light compared to something like Java. Further, I didn't say "C++". I said "C/C++". If you need something lean and mean, you can use C, sans the ++.
It's a no-brainer, unless you have specific needs that dictate otherwise, C/C++ is the only choice for someone who wants to do some serious programming. There's no reason why a dozen different programmers should have a dozen different answers.
stax76
14th January 2006, 12:08
Native C++ has it's strengths and so have others, it takes much ignorance saying one is all bliss while others are for the most part poor.
Eretria-chan
14th January 2006, 12:31
There is probably nothing one cannot do in C/C++. If you want to avoid memory mangement - then you can write a memoy mangement class. Easy. If you want to manipulate memory - go ahead! C/C++ is excellent for that too.
For me, it seems like C/C++ is the one biggest best and overall most complete language. If you use Visual Studio .NET (2002/2003/2005), you can also mix it with .NET, yet also use native code! Astounding!
...Not to mention there are lots and LOTS of code around that can help you on the road.
Manao
14th January 2006, 13:15
There is probably nothing one cannot do in C/C++True ( except for what CAML-like language can do, and for everything that languages I don't know can do ), but same is true for assembler, isn't it ? Yet, that doesn't qualify assembler as a practical language.
C/C++ might be the most easily versatile / widespread / tradeoff between speed & complexity, yet, if I were to do a GUI with MSVC, I'd never use it ( C++ .NET is a laugh ), if I were to do string processing, I'd use Perl, and so on.
And I'd definitely rule out C++ as an easy language to learn. Objects and memory managements are too much to a beginner. I'd begin with VB .NET, and I'd soon try other languages, especially C, because memory allocations is something a coder must be aware of, especially if he wants afterwards to hide it from his code.
stax76
14th January 2006, 13:44
C/C++ might be the most easily versatile / widespread / tradeoff between speed & complexity, yet, if I were to do a GUI with MSVC, I'd never use it ( C++ .NET is a laugh )
How did you come to this conclusion? I guess winforms must work with C++/CLR but for larger GUI projects VB .NET or C# is a better solution. I didn't use pure (CLR) mode much more than toying around but I'm using C++/CLR in mixed mode, for many interop tasks it is *incredible* more easy and flexible (you don't have to prototype tons of declarations) and for many tasks it's the *only* viable solution. COM semantics is something I realy don't wanna see in managed code so I'm glad there is a tool that can bring a API like DirectX to the managed world without COM semantics.
foxyshadis
14th January 2006, 14:48
When I first saw this thread I wanted to post about different languages for different tasks. There are enough options that it really boils down to familiarity and portability. These are just the languages I've used different things over the years.
Rapid deployment GUI:
Delphi
Python
VB.Net
C#
C++ with cross-platform toolkit
Web applications:
PHP
ASP.Net (any .Net)
ASP (VB6)
Java
Server apps or practically anything that must have speed and scalability:
C/C++
Some assembly
C#/Java (if you know what you're doing and must have their extras.)
Administration:
Perl
VBscript/Jscript
PHP
Fun languages that might come in handy someday:
Perl
XSLT
Ruby
Smalltalk
And many finer distinctions can be made, of course. You can find good IDEs for most of these. If nothing else, always know several languages and their strengths well so that you can pull out whatever's needed when it's needed. Otherwise you'll throw C++ at anything and waste a lot of time futzing around when you didn't have to.
Latexxx
14th January 2006, 15:43
And I'd definitely rule out C++ as an easy language to learn. Objects and memory managements are too much to a beginner. I'd begin with VB .NET, and I'd soon try other languages, especially C, because memory allocations is something a coder must be aware of, especially if he wants afterwards to hide it from his code.
You don't need to start your trip to the world of C++ with OO programming. Instead you can use C++ much like Pascal or C but C++ gives you some nifty tools (strings...) which make it even easier than C. And if some day you want to advance to object oriented programming, you don't have to learn a completely different language.
Of course C++ is vast and complex language but you don't need to know even a quarter of it to get going because it's multi paradigm and provides you with tools do your programs as you want.
Shinigami-Sama
14th January 2006, 19:38
I"ve always wanted to learn some bacis X86 asm, but right now I like C, granted I"ve only used C, Java, and a very small amount of php/mySQL so yeah
Eretria-chan
14th January 2006, 20:38
C/C++ might be the most easily versatile / widespread / tradeoff between speed & complexity, yet, if I were to do a GUI with MSVC, I'd never use it ( C++ .NET is a laugh ), if I were to do string processing, I'd use Perl, and so on.
But objects can simplify this - and that is the core of C++ and object-oriented programming. You can use a class that makes strings as easy to use as in Vb or Perl. GUI isn't that bad with MFC and some documentation on the classes.
And I'd definitely rule out C++ as an easy language to learn. Objects and memory managements are too much to a beginner. I'd begin with VB .NET, and I'd soon try other languages, especially C, because memory allocations is something a coder must be aware of, especially if he wants afterwards to hide it from his code.
Again, not exactly true... using objects, C++ can be like any High Level Language. And you don't NEED to create stuff on the heap either... One can avoid it, and use referneces and stuff... of course, pointers are much more flexible than both stack and referneces, but if using a high level language, you don't care about speed or flexibility for the most time.
Manao
14th January 2006, 20:58
You can use a class that makes strings as easy to use as in Vb or Perl.VB, certainly. Perl, definitely not.GUI isn't that bad with MFC and some documentation on the classes.I hope your kidding. MFC is an old C API hastily & badly rewritten "à la C++". .NET is much better in that regard, even if I dislike C++ .NET ( though I'll admit stax remarks are perfectly valid and are the reasons why I had to use it in the first place ). Another worthy GUI toolkit seems to be QT. I never used it but I heard many praises about it. But definitely not MFC.And you don't NEED to create stuff on the heap either... One can avoid it, and use referneces and stuff...But one can't grasp the usefullness of references without having used C, in my opinion. High level languages are great, but imho hides too much mechanisms behind a simple "=", that the user must be aware of. Else, when speed will really matter, the user will be lost. And a user can't be aware of that without doing some "low level" coding, with C or pascal.but if using a high level language, you don't care about speed or flexibility for the most time. ???
And if some day you want to advance to object oriented programming, you don't have to learn a completely different language.True, but I don't see learning a completely new language a drawback. On the contrary, I find that useful, because it makes one discover and use other paradigms
dragongodz
15th January 2006, 01:01
kis2005 - as you can probably see by now people can and will argue over which language to use until the cows come home. in the end though what you really should do is decide what type of things you are going to be programming, both now and any plans you intend later if possible, and then decide what you think is the most suitable language.
so for example if you only intend to create gui's then language 'A' may be a good choice for both simplicity of learning and speed at which you can get the gui done. however if the speed of the programs is a more important factor then language 'B' may be more suitable even though it will take you longer to learn and take longer to write your programs.
notice i did not name what languages 'A' and 'B' were ? thats because no matter what languages you put in those spots somebody will argue its merits and i am not interested in doing that. others are doing a fine job of that already and if you look around the net you can find plenty of other places to find out pros and cons of different languages aswell. ;)
Doobie
15th January 2006, 01:17
kis2005 - as you can probably see by now people can and will argue over which language to use until the cows come home.
No. If you read the thread, you can see that there is strong general agreement that C/C++ is a good general choice. When people suggest other things, they're thinking of specific needs (and, so far, none of those specific needs includes, speed, stability, and popularity). Don't confuse the noise with the signal.
charleski
15th January 2006, 01:38
When people suggest other things, they're thinking of specific needs (and, so far, none of those specific needs includes, speed, stability, and popularity).Actually, I'd suggest C# for the specific need of not having to sit there trying to remember when you put the * before the name instead of after it (or is it a ^?...)
dragongodz
15th January 2006, 01:58
No. If you read the thread, you can see that there is strong general agreement that C/C++ is a good general choice.
did i say it wasnt ? the fact is there are alternatives being discussed and also the difference between .NET and plain c/c++ etc and merits of all.
When people suggest other things, they're thinking of specific needs (and, so far, none of those specific needs includes, speed, stability, and popularity).
hmm and wasnt my suggestion to him to consider what his needs would be, whether ease of creation or speed just being examples, to help him decide ? just because somebody hasnt specifically mentioned speed at the moment doesnt preclude it from his possible consideration. for example if he wanted to write an encoder engine i would certainly think of speed as being a factor while if it was a gui then i wouldnt. since we dont know what his plans are we can not comment on what his exact needs are.
Don't confuse the noise with the signal.
i didnt. i think you confused some very general advice which excluded naming any specific languages as being more than it was. ;)
Eretria-chan
15th January 2006, 03:05
One last reply to this to clear some things up...
VB, certainly. Perl, definitely not.
But still, string in VB is very easy... and IMO I find it confusing with all those operators in perl. It's easier to call functions to do specific stuff.
I hope your kidding. MFC is an old C API hastily & badly rewritten "à la C++". .NET is much better in that regard, even if I dislike C++ .NET ( though I'll admit stax remarks are perfectly valid and are the reasons why I had to use it in the first place ). Another worthy GUI toolkit seems to be QT. I never used it but I heard many praises about it. But definitely not MFC.
I agree... but MFC is very handy and won't give you as much headaches as pure win32 programming. Even though .NET has been available to me all this time, I have stuck with MFC, because it is a decent - not too complex - way of writing a gui, if only you know how to do it.
???
When using a high level language (for example vb), you cannot get real flexibility or real speed (as compared to low level languages, that is), so when using high level programming language, you are aware that you can't do the stuff that will gain the most speed or flexibility.
There!
foxyshadis
15th January 2006, 05:53
If you like MFC, please, for the sake of your sanity, use ATL or WTL. (Or even wx or Qt.) They're the same kind of thing, a framework to hide all the painful complexities of windows behind, but with much more power, includes stuff that's become important since 1997, and doesn't have the bloated size and many bugs of MFC. MFC is quite dead on a support front, and will never get any of that.
Even with high level, thanks to the magic of dlls you can always call a C function to do your encryption or encoding or rendering for you. I was on a team that simultaneously developed pieces in delphi, C++, and asm once, though most of the delphi codebase moved to C++ for the next version.
Eretria-chan
15th January 2006, 14:15
If you like MFC, please, for the sake of your sanity, use ATL or WTL. (Or even wx or Qt.) They're the same kind of thing, a framework to hide all the painful complexities of windows behind, but with much more power, includes stuff that's become important since 1997, and doesn't have the bloated size and many bugs of MFC. MFC is quite dead on a support front, and will never get any of that.
But it's enough! It works fine, and I never have encountered the real need for more power. The only thing I can complain on is that MFC doesn't like threads that much. ATL is great for com stuff and last I looked at WTL (but I haven't even used it really), it required you to create windows by NOT using templates...
Even with high level, thanks to the magic of dlls you can always call a C function to do your encryption or encoding or rendering for you. I was on a team that simultaneously developed pieces in delphi, C++, and asm once, though most of the delphi codebase moved to C++ for the next version.
Yep. But that's also the one of the ideas behind .NET, isn't it? Use any language you like and they will easily interop between each other with no problems.
Zarxrax
16th January 2006, 04:42
Well, since I just recently started coding myself (well, sorta), I'll weigh in on this issue for you.
I did learn some Java in college, but promptly flunked out and after some time learned I'm much better suited to Accounting ;p Anyways, even after having some training in Java, I still really had absolutely no idea how to write a program that would do anything useful.
Then recently I decided I would try and start learning how on my own.
I started by downloading Microsoft Visual Basic 2005 Express Edition, and watching the free training videos that microsoft had up. After mucking around with it for a few days, I had managed to write my first piece of software, an x264 bitrate calculator.
Its VERY nice. You can create a gui by simply dragging and dropping components. Once you've got that in place, you simply fill in the code to react to the gui (like tell it to perform some calculation when you press a button, or whatever). The videos from microsoft were extremely helpful and got me started very quickly.
A few days ago, I decided to download Microsoft Visual C# 2005 Express Edition. As far as I can tell, its exactly the same as Visual basic, only the syntax is different (and makes more sense too, IMHO). I am currently writing my 2nd program in this, and I do prefer it to visual basic. A big reason to choose this over visual basic is that the syntax it uses is pretty much the same as C++ and Java, so if you want to learn one of those some day, it wont be as hard as it would be coming from visual basic.
So I would really recommend C# 2005 to you. At the very least, go check out the training videos (http://msdn.microsoft.com/vstudio/express/visualCSharp/learning/) from microsoft and see it for yourself.
Eretria-chan
16th January 2006, 09:00
A few days ago, I decided to download Microsoft Visual C# 2005 Express Edition. As far as I can tell, its exactly the same as Visual basic, only the syntax is different (and makes more sense too, IMHO). I am currently writing my 2nd program in this, and I do prefer it to visual basic. A big reason to choose this over visual basic is that the syntax it uses is pretty much the same as C++ and Java, so if you want to learn one of those some day, it wont be as hard as it would be coming from visual basic.
And that's what makes me stay away from it :sly: Stupid VB wannabees :P Native C++ is the only true language with the power left... that has been left out in the .NET framework.
stax76
16th January 2006, 10:22
As far as I can tell, its exactly the same as Visual basic, only the syntax is different (and makes more sense too, IMHO).
If Java is what you have learnt first than that might be the reason why C syntax makes more sense to you! VB syntax has some advantages over other languages like background compiling to mark errors on the fly, generally it has the richest code editor experience for technical reasons because many code editor feature require a verbose syntax and VB has the most verbose syntax. On the other side C# and Boo have cool features some other .NET language might not have and might only be possible with a very terse syntax or with using curly braces so once you got used to a syntax it don't makes too much of a difference because everything have pros and cons. Most people continue with what they grew up so a VB6 user will likely embrace VB .NET while a C++ or Java user will pick C# and a Phyton user will use Boo of course which looks pretty nifty btw.
Mr_Odwin
16th January 2006, 20:13
Its VERY nice. You can create a gui by simply dragging and dropping components. Once you've got that in place, you simply fill in the code to react to the gui (like tell it to perform some calculation when you press a button, or whatever). The videos from microsoft were extremely helpful and got me started very quickly.
Is there anything like this (that is free) for a language that doesn't require the .Net framework? I've been playing with the express editions too, but when I try to share my apps with friends they've had trouble because they don't have .NET installed. I don't mind the language (I'll pick it up hopefully), just a prog that lets me make a gui easy and then can run on windows with nothing needed.
Doom9
16th January 2006, 20:36
When I hear perl I immediately think of regexps and then I feel like puking. It also lacks a freely available proper IDE. Nice for little scripts but not the thing if you want to write a real software.
Native C++ is the only true language with the power left... that has been left out in the .NET framework.There's quite a bit of improvement in interop between native and managed C++ in the latest framework.
You can do GUIs with ATL? Must've missed that in my ATL book (it only explains ActiveX and COM). But that book (I don't recall the name now.. one of the bibles though) really gave me severe headaches. But then again, I also feel like my head is going to explode when I see senseless stuff like casts to void or pointers to void, or method calls with 10 parameters of which in 99% of all cases 80% are unused.. all the stuff I generally associate with W32API (so C) and ATL.
While I find MFC awkward as well having done GUIs before in Java and C# (you have to admit, it's so much more logical and easy), for using a native language it seems to work quite well. But then again I've only written a few frontends for some DCOM services (that was before all the SP2 style DCOM security came along.. I hope the customer will upgrade his W2K boxes to Vista directly and then I can proprose a move to .NET.. ).
stax76
16th January 2006, 21:02
Is there anything like this (that is free) for a language that doesn't require the .Net framework?
I got Delphi 2005 for free but I don't know if you can download it.
When I hear perl I immediately think of regexps and then I feel like puking.
IMO regex can work miracles, actually I have a lot fun with this and thus got regex all over my source code, you need of course a application to build the expressions. I'm using this (http://www.radsoftware.com.au/regexdesigner/) though I'm not sure if there are better.
You can do GUIs with ATL?
IIRC yes, there are some classes.
Doom9
16th January 2006, 21:06
I got Delphi 2005 for free but I don't know if you can download it.How about NetBeans, or Eclipse and plugins (both for Java). Eclipse also has a C++ mode if I'm not mistaken.
Eretria-chan
16th January 2006, 23:52
There's quite a bit of improvement in interop between native and managed C++ in the latest framework.
Wonderful! I've always pretty much wanted to use the .net framework for mostly the GUI simplicity's sake but also keep my native approach.
...But still... I need to convert all the native GUIs to managed ones and it's still a pain in the ass!
stax76
17th January 2006, 00:39
How about NetBeans, or Eclipse and plugins (both for Java). Eclipse also has a C++ mode if I'm not mistaken.
He was asking to make GUI's using RAD without .NET, I guess Java fits this description as well but if he has second thoughts about .NET he might have second thought's about Java as well. I would rather use Visual Studio but this requires using the clunky .NET framework of course.
hartford
17th January 2006, 03:02
So, I guess nobody likes Forth :)
Neo Neko
17th January 2006, 03:51
Just to throw my 2 cents in. Any language using the general structure and syntax of C/C++. It is very portable and will serve you well. Java, PHP, Mono (and Microsoft's proprietary version .net), not to mention C and C++. Plus the skills you learn will be helpfull with other more task specific languages like PERL.
LordRPI
17th January 2006, 04:01
Isn't ML THE OO language?
IIRC it isn't ML that's the OO language, it's the functional programming language... it's smalltalk that is the OO language.
Both ML and Prolog hurt my head. Now LISP.. that's a real language XD
Doom9
17th January 2006, 09:08
it's smalltalk that is the OO language. You're right.. don't know how I could've mixed up the two.
Ac3Dc3
17th January 2006, 13:04
interesting thread..
can someone with an IT related degree answer answer this? how important do you think the language they teach for a degree course is? what i mean is, should it be important that they focus on, for example, java as opposed to C/C++ ?
Ac3Dc3.
(not a fan of java)
masken
17th January 2006, 13:11
...as mentioned, if I were you and the main goal was going for a professional career as a programmer, I'd choose a common platform. .NET C# or C++.
Ac3Dc3
17th January 2006, 22:06
were you replying to me masken?
if so, are you saying that if that is my goal, then i should ditch one university because of the java syllabus and choose another with a different one instead? maybe not the answer i was looking for lol
Neo Neko
18th January 2006, 00:09
were you replying to me masken?
if so, are you saying that if that is my goal, then i should ditch one university because of the java syllabus and choose another with a different one instead? maybe not the answer i was looking for lol
No. If you learn Java you more or less know C and C++. As well as Mono and C#. The skills are also easily transferrable to PHP as well. Only if your university has a mostly Visual Basic syllabus then you should jump up and run like hell away from there as fast as possible. :D
The main differences are the libraries and APIs. Which all fall in line once you have the basics.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.