Jump to content

Popular programming languages


weknowthewor

Recommended Posts

> I think you're confusing "functional" with "procedural".

 

Possibly. I wasn't too careful about the words there. What I meant is the object oriented vs function/procedure oriented in the loose sense, not to imply any details. Btw, english isn't my mother tounge so bare with me :)

 

/Fredrik

Link to comment
Share on other sites

> I think you're confusing "functional" with "procedural".

 

Possibly. I wasn't too careful about the words there. What I meant is the object oriented vs function/procedure oriented in the loose sense, not to imply any details. Btw, english isn't my mother tounge so bare with me :)

 

/Fredrik

 

That's okay. I just wanted to point out that "functional" has a very special meaning when describing programming languages.

 

You can think of functional languages as being a purely mathematical system. This is generally described by functions not having "side effects". State is kept on the stack and in pure functional languages, there are no variables save for the value being returned.

 

Examples of some functional languages include Lisp, Scheme, (O')(CA)ML, and Haskell. There are many languages that are deeply rooted in functional concepts as well, such as Python and Ruby.

Link to comment
Share on other sites

Back in the day I used Basic and QBasic. From there, I went to HTML, java, and C++. I never really did visual basic, but I assume it would do some good.

 

C++

VB

Java

 

Some of the basics these days.

 

Genecks means well but, not having used VB, he doesn't really know how dangerous a suggestion that is.

 

Don't go anywhere near VB, it's very bad for you (it’s analogous to smoking cigarettes or eating junk food - you'll regret it in the long run).

 

VB will lead you into another world that has nothing to do with computer science; an obnoxious world that is both crass and dull.

 

I'd say start writing console apps in C and then (quickly) go on to C++ - looking around at a low level without getting bogged down with Visual stuff.

 

Get used to the fundamental principals of the language: who the stack and heap works, standard libraries, dynamic memory allocation, file handling and all the stuff good introductory books like K&R and Stroustrup will show you.

 

Then try: poking around with Win32 kernel and MFC (assuming you’re using Windows), then TCP/IP stuff, experiment with rudimentary multi-threading, maybe serial comms, NT services and just have a load of fun making the machine do stuff.

 

Then take on the Visual stuff later.

 

NB: C/C++ = Good, VB = Bad.

Link to comment
Share on other sites

I don't agree with your assessment of VB, although I don't have a problem with your steering people in other directions. There is a great deal to be said for the use of VB in the world of business-related RAD, and it's not all handled by really smart guys with Excel VBA. (grin)

 

You have to remember that the vast majority of programming these days is mundane client-server, managed-code work. Getting standalone or web-based forms to talk to databases. Shortcutting that process is generally a good thing for computer science, even if it moves those coders further away from the mindspace of system programming.

 

(But that's not our typical visitor here, really, so I try not to dwell on it. Most of the time when this question comes up it's a smart young kid in a CS program somewhere. They should be encouraged to really explore the depths of the "more serious" languages.)

Link to comment
Share on other sites

Whilst I agree with this point of view, I still can’t recommend VB as good response to the question "...for a newbiee which is good one to start with ?" (sic)

 

Besides, I know from bitter experience that every shortcut made with VB is later added to the end of the project, double its original measure.

 

VB doesn't really work.

 

It's very good for quickly putting together visual prototypes and for trivial tasks (in the absence of a good scripting language like perl, rexx or python) but anymore than that and it usually turns out to be the wrong language choice in the end.

 

Sorry to sound so down on VB, it's just that I have to deal with it everyday at some level, because I have to write in a language my colleagues can later maintain and so VB wins by default.

 

I been writing in C++ for 19 years now (since the release of Zortech C++) and having to go through each day with the gloom of VB and its insidious programming model makes me wonder what the hell ever happen to the computer industry. “Back in the day” I’d go work with smile on my face, humming I.G.Y and thinking about the possibilities C/C++ could bring. Nowadays, everything through VB-vision seems so vacuous.

 

It is for these reasons I can’t recommend VB “for a newbie”.

Link to comment
Share on other sites

Of course -- and anybody who works in C++ is going to have that opinion, because that's just not what VB is designed to do (anymore, if it ever was). It's just not a system programming language. All the emphasis in VB today is placed on whipping out database clients under the .NET Framework. Anybody who tries to do *anything* else in VB is just begging for trouble.

 

For what it's worth, it's possible we may finally see the death of VB through by unexpected and unpredicted means: C# is rapidly becoming the language of preference for ASP.NET development. Most new ASP.NET books are written in C#, and most of the online discussion has shifted from VB to C#.

 

That's a bit of a surprise given that under the .NET Framework C# and VB crank out the same intermediary code for just-in-time recompilation at execution time, begging the question of why anyone would bother to convert. What that suggests to me is that more people are switching from PHP, CF and JSP to ASP, and they will logically prefer C# to VB because of the syntax and structure similarities. There's probably also an upswell of "serious" ASP developers who want to make their work seem more legitimate.

 

Anyway, the point being that those of us in education (I teach "applied" programming and database courses at a small university) are starting to think about changing our curriculums over from VB to C#. It'll make it very slightly harder to teach the syntax to the newbies (perhaps -- that's the concern that some of the professors have but I'm not sure that I agree with it), but it will also mean that our "database programmers" will have a functional capability to go on to greater things if they wish (i.e. system programming).

 

It is possible, after all, for someone to become a system programmer after being a client/server/managed-code programmer. It's just harder if you have to also learn a new syntax.

Link to comment
Share on other sites

I been writing in C++ for 19 years now (since the release of Zortech C++) and having to go through each day with the gloom of VB and its insidious programming model makes me wonder what the hell ever happen to the computer industry. “Back in the day” I’d go work with smile on my face, humming I.G.Y and thinking about the possibilities C/C++ could bring. Nowadays, everything through VB-vision seems so vacuous.

 

It is for these reasons I can’t recommend VB “for a newbie”.

 

I wouldn't recommend C++ to a newbie due to the pitfalls of manual memory management, the complexity of a static typing system, and the overall oddness of many of the language features, most notably templates. (which provide an ineffective solution promoting compiler-driven code duplication in order to preserve C++'s strong, static typing)

 

And as Pangloss mentioned, VB.NET is nothing like VB6. The .NET framework promotes shared constructs among multiple languages, meaning that what you use provides only a particular semantic flavor to a set of shared APIs.

Link to comment
Share on other sites

Not to mention just having to deal with case-sensitivity. (grin)

 

I've never quite understood why having a language be case-sensitive is supposed to be an advantage. But that seems to be how the C and Java folks see it.

Link to comment
Share on other sites

random question:

 

the complexity of a static typing system

 

is that 'static typing' as opposed to 'duck typing'? eg, where you have to go something like var str(x) = 'blah', rather than just var x = 'blah'?

 

if so, i'd have thought that that would be a pita, rather than 'complex'... whats so difficult about it?

Link to comment
Share on other sites

is that 'static typing' as opposed to 'duck typing'?

 

Duck typing is one particular form of dynamic typing. I would contrast static typing with dynamic typing. You can have stronger dynamic typing than duck typing. I'd still consider duck typing stronger than most statically typed languages, at least any that let you do typecasts, which provides a great way to violate type safety whenver you feel like it. Contrast with dynamic typing, where every object knows its own type.

 

eg, where you have to go something like var str(x) = 'blah', rather than just var x = 'blah'?

 

if so, i'd have thought that that would be a pita, rather than 'complex'... whats so difficult about it?

 

Well, I defer to my Java example from earlier. The complexity comes in describing things so all types are known at compile time. C++ templates provide a good example:

 

templates_in_action.gif

Link to comment
Share on other sites

  • 9 months later...

Python is an ok place to start, and it seems decentenough until you learn something like Ruby. After that, Python's OO features feel like they've been crudely tacked on. The language's "there's one right way to do it" mentality also tends to limit the expressiveness of code.

 

You should learn it.

 

But you should learn others too, so you don't become the kind of person who raves about Python being the greatest thing since sliced bread without trying out anything else. I know the perils of that, since I once was there myself. :)

Thanks for your 2 cents

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.