PDA

View Full Version : Top 10 Computer Languages


Augenj
06-11-2013, 07:16 AM
This article is about JavaScript but it also lists the top 10 languages in use. I use VB.Net (Visual Basic). What's your weapon of choice?

Top 10 Computer Languages (http://www.infoworld.com/t/javascript/javascript-claws-back-top-10-programming-languages-220459)

DJofSD
06-11-2013, 08:37 AM
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Delphi and Objective-C. There's a long list of others.

Augenj
06-11-2013, 08:49 AM
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Delphi and Objective-C. There's a long list of others.
That's a better chart. Thanks.

Actor
06-11-2013, 07:08 PM
Pascal, ranked #15. #1 at one time.

And there will always be a warm spot in my heart for FORTRAN. :ThmbUp:

Magister Ludi
06-11-2013, 07:24 PM
Chapel

Augenj
06-11-2013, 07:51 PM
Pascal, ranked #15. #1 at one time.

And there will always be a warm spot in my heart for FORTRAN. :ThmbUp:
FORTRAN! My first language in school. :)

DJofSD
06-11-2013, 09:04 PM
I think mine were, in order: FORTRAN, COBOL, BAL, RPG, PASCAL, PL/I, BASIC, various flavors of FORTRAN on different platforms, REXX, VISUAL BASIC, x86 assembler, C, SAS, C++, Delphi, some JAVA and JAVASCRIPT, Objective-C. Back in the university days, a smattering of others in CS classes I can hardly remember like SNOBOL, Algol, APL, ...

HUSKER55
06-11-2013, 09:13 PM
do you guys still use fortran or did it fall by the wayside

DJofSD
06-11-2013, 09:15 PM
It is still used but not by me since I don't do scientific programming any longer.

098poi
06-11-2013, 09:20 PM
I think I took a class in high school learning Fortran. We had all these cards and a machine that would punch holes in them. Was kind of cool at the time.

DeltaLover
06-13-2013, 04:20 PM
Python is my favorite language, and my only choice my own projects that I develop under a linux - mysql - mongodb combo . It comes with very extensive Standard Library and has a very active open source community providing any library you might desire. Been used by large corporations like google and IBM add to its appeal as it makes its future seem bright and secure. Provides great expressibility and has features line closures, duck typing, lazy evaluation etc that can change to the better the way we write code in traditional statically linked environments.

When it comes to web development, I find php to be a great choice, especially considering the jump start that wordpress is providing. Python's Django is a close call but I admit that the LAMP / wordpress combination is hard to deny.

The enterprise development on the other hand, seems to be dominated by static environments. The two major directions are C#/ .NET and Java / JVM and out of the two I favor C# as I find it a better, more flexibly and faster evolving language so it is the one I usually use when developing for large corporate clients.

I also have a keen interest about functional programming namely LISP, SCHEME and HASKEL as I can see that this approach not only presents a very powerful alternative paradigm but I also think that it will gain momentum in the near future due to its nature applicability to concurrent programming, that is becoming more and more dominant as time goes by.

C++ 11 seems to be in the right path adding lots of missing features from ANSI C++ albeit so late that I doubt if it will be able to regain its market share. I still like C++ and use it in performance critical components, usually providing python bindings to it.

Languages I no longer use involve: Lua (mostly used it for DSL development, something that today I do using a python/xml combination), any form of basic (as its name denotes it presents a very basic and restrictive programming paradigm), pascal or any of its derivatives (like Delphi), fortran (although great for scientific programming I do not really need it for what I am doing and have not use it for the last two decades), Assembly ( I was using extensively years ago when programming for the Z-80 family of home computers but almost never under the 8080). COBOL and RPG I have never use and do not see any use of them unless we have to maintain legacy code (which is pretty large and it will probably outlive by decades most of the systems that started been developed this year!!)

Augenj
06-13-2013, 05:05 PM
Python is my favorite language, and my only choice my own projects that I develop under a linux - mysql - mongodb combo . It comes with very extensive Standard Library and has a very active open source community providing any library you might desire. Been used by large corporations like google and IBM add to its appeal as it makes its future seem bright and secure. Provides great expressibility and has features line closures, duck typing, lazy evaluation etc that can change to the better the way we write code in traditional statically linked environments.

When it comes to web development, I find php to be a great choice, especially considering the jump start that wordpress is providing. Python's Django is a close call but I admit that the LAMP / wordpress combination is hard to deny.

The enterprise development on the other hand, seems to be dominated by static environments. The two major directions are C#/ .NET and Java / JVM and out of the two I favor C# as I find it a better, more flexibly and faster evolving language so it is the one I usually use when developing for large corporate clients.

I also have a keen interest about functional programming namely LISP, SCHEME and HASKEL as I can see that this approach not only presents a very powerful alternative paradigm but I also think that it will gain momentum in the near future due to its nature applicability to concurrent programming, that is becoming more and more dominant as time goes by.

C++ 11 seems to be in the right path adding lots of missing features from ANSI C++ albeit so late that I doubt if it will be able to regain its market share. I still like C++ and use it in performance critical components, usually providing python bindings to it.

Languages I no longer use involve: Lua (mostly used it for DSL development, something that today I do using a python/xml combination), any form of basic (as its name denotes it presents a very basic and restrictive programming paradigm), pascal or any of its derivatives (like Delphi), fortran (although great for scientific programming I do not really need it for what I am doing and have not use it for the last two decades), Assembly ( I was using extensively years ago when programming for the Z-80 family of home computers but almost never under the 8080). COBOL and RPG I have never use and do not see any use of them unless we have to maintain legacy code (which is pretty large and it will probably outlive by decades most of the systems that started been developed this year!!)
Never met anyone with this mastery of the languages before. Does "any form of basic" mean VB.Net under Visual Studio also? Except for syntax, it has the same IDE and understructure as C# and C++.

DeltaLover
06-13-2013, 05:27 PM
Never met anyone with this mastery of the languages before. Does "any form of basic" mean VB.Net under Visual Studio also? Except for syntax, it has the same IDE and understructure as C# and C++.

I would say yes. Although VB.net indeed has a lot of improvement vesus VB6, still the good old basic's influence is noticable and although you can preety much do everything you can do with C#, still I find the code very verbose and ugly looking. Targeting .NET C# is your best choice, while based on your needs you might also find F# or even ironpython usefull.

Besides that I believe that the statically linked environments produce very verbose and heavy code (something that is mitigated to some extend from tools like resharper) while presenting an awkward object orientation model... These environments also have limited extensibility due to their nature. To understand what I mean, take as an example the concept of enumerations. In C# has been part of the language since its very early versions while in Java represents a relatively recent addition. Neither language presents an good alternative to implement enums in your code as opposed as provided by the framework. This not the case in a dynamic language like python for example, where you can easily introduce this concept in native code implementing it in any way you need.

Where C#, VB.NET, Java and even C are way inferior from languages like LISP, Haskel, python or ruby is metaprogramming which is finds its best in LISP's macros or to python's ability to create classes on the fly.

Augenj
06-13-2013, 05:48 PM
I would say yes. Although VB.net indeed has a lot of improvement vesus VB6, still the good old basic's influence is noticable and although you can preety much do everything you can do with C#, still I find the code very verbose and ugly looking. Targeting .NET C# is your best choice, while based on your needs you might also find F# or even ironpython usefull.

Besides that I believe that the statically linked environments produce very verbose and heavy code (something that is mitigated to some extend from tools like resharper) while presenting an awkward object orientation model... These environments also have limited extensibility due to their nature. To understand what I mean, take as an example the concept of enumerations. In C# has been part of the language since its very early versions while in Java represents a relatively recent addition. Neither language presents an good alternative to implement enums in your code as opposed as provided by the framework. This not the case in a dynamic language like python for example, where you can easily introduce this concept in native code implementing it in any way you need.

Where C#, VB.NET, Java and even C are way inferior from languages like LISP, Haskel, python or ruby is metaprogramming which is finds its best in LISP's macros or to python's ability to create classes on the fly.
You have an amazing command of the languages. Do you put this to good use or teach them? I guess COBOL (in the beginning) and VB.net were meant to be used by us second level programmers. :D

DeltaLover
06-13-2013, 06:20 PM
You have an amazing command of the languages. Do you put this to good use or teach them? I guess COBOL (in the beginning) and VB.net were meant to be used by us second level programmers. :D

Programmers (even the amatures) should evolve improving their understanding of both the artistic and scientific part of composing althorithms. COBOL was proven a great language that outlived most of its contemporaries and will continue to do, besides that though it does not present a very interesting paradigm and it not well suited to today's environment, thus, unless you use it to maintain legacy stuff does not represent an attractive alternative.

VB.net is another interesting language although tightly coupled to its creator and although good for rapid prototyping and excels in GUI developement still comes short in comparison with several more generic and platform agnostic languages like python, ruby, haskel etc...

It is perfectly fine to start with VB.NET or any other variant of basic but you should never hesitate to move to other environments as well.

You might find this postings in two of my blogs interesting:

http://alogatas.wordpress.com/2013/01/17/always-evolve/

http://www.codingismycraft.com/2013/03/11/abstractions-and-specializations/

Native Texan III
06-13-2013, 06:54 PM
Went from Fortran to Algol, Basic, Paradox, C++, Java, C# and now do practically everything sports, database, analysis and web based software using Python. R also which is developing very rapidly in the sports analysis and big data stats field.

I regret the time wasted in earlier software as so many languages are simply "me too" but slightly different wasting a huge human resource in reinventing the wheel. Many of the languages on the list are for folks who have to maintain old code - not the programmer's own choice but the employer's.

Python is clean to read, vast support and fast to write and run, and I am sticking to it.

DeltaLover
06-13-2013, 07:30 PM
Went from Fortran to Algol, Basic, Paradox, C++, Java, C# and now do practically everything sports, database, analysis and web based software using Python. R also which is developing very rapidly in the sports analysis and big data stats field.

I regret the time wasted in earlier software as so many languages are simply "me too" but slightly different wasting a huge human resource in reinventing the wheel. Many of the languages on the list are for folks who have to maintain old code - not the programmer's own choice but the employer's.

Python is clean to read, vast support and fast to write and run, and I am sticking to it.

Haskell (http://www.haskell.org/haskellwiki/Haskell) is another great language. Functional but statically linked. It can be a great fit to your programming arsenal.

Augenj
06-13-2013, 08:01 PM
Programmers (even the amatures) should evolve improving their understanding of both the artistic and scientific part of composing althorithms. COBOL was proven a great language that outlived most of its contemporaries and will continue to do, besides that though it does not present a very interesting paradigm and it not well suited to today's environment, thus, unless you use it to maintain legacy stuff does not represent an attractive alternative.

VB.net is another interesting language although tightly coupled to its creator and although good for rapid prototyping and excels in GUI developement still comes short in comparison with several more generic and platform agnostic languages like python, ruby, haskel etc...

It is perfectly fine to start with VB.NET or any other variant of basic but you should never hesitate to move to other environments as well.

You might find this postings in two of my blogs interesting:

http://alogatas.wordpress.com/2013/01/17/always-evolve/

http://www.codingismycraft.com/2013/03/11/abstractions-and-specializations/
I did read those. They are interesting and provide useful guidance for professional programmers. I'm retired now and use VB.Net for my personal project. I need that language's verbosity when going back over old code and making changes. I suppose comments would work also with the more elegant languages but I'm too old to learn new ones and too far along with this project with thousands of lines of code to make any language changes. However, thanks for expanding my horizon, so to speak. :)

DeltaLover
06-13-2013, 08:29 PM
I did read those. They are interesting and provide useful guidance for professional programmers. I'm retired now and use VB.Net for my personal project. I need that language's verbosity when going back over old code and making changes. I suppose comments would work also with the more elegant languages but I'm too old to learn new ones and too far along with this project with thousands of lines of code to make any language changes. However, thanks for expanding my horizon, so to speak. :)

Sure, nothing wrong with using VB.net you can do a lot with it... no doubt...

MJC922
06-16-2013, 09:23 PM
These days I use VBA with Office apps, originally I was using VB6, never saw the need to move to .NET. I don't code for a living but between Excel, Powerpivot and or Access / SQL Server I don't think there's anything a handicapper can't do on a massive scale.

cj
06-18-2013, 08:33 AM
C++ for me.

DeltaLover
06-18-2013, 01:48 PM
C++ for me.


C++'s evolution has been relatively slow. One of the reasons has to do with the fact that it is governed by a huge and awkward committee that makes even the tiniest decision a several months struggle. C++ 11 is a step towards the right direction albeit a very slow one, it took the committee close to 10 years to decide the new standard while its competitors where gaining ground driven by lighter and more agile procedures.

The verbosity of the language, its difficulty to manage memory and its syntactical complexity, have long time ago, force the vast majority of the enterprise shops to switch to strongly typed environments based in VMs, namely Java and .NET and there is no reason for them to go back to C++, which has been pushed more to system rather than application programming and even among this community there exist very strong opinions against it (see for example: http://lwn.net/Articles/249460/ )....

Of course C++'s legacy is very influential as both C# and Java (and most of their derivative) derive for it, although as time goes by they tend to emphasize more their dynamic and reflective characteristics gradually moving away from their static roots.

Personally, although I have been a very adaptor of C++ and an one of its enthusiastic evangelists, I use it very sparingly in our days, mainly to implement performance critical functionality that is consumed from python clients.

FiveWide
06-18-2013, 08:42 PM
Since I program for a living in it C++ is it for me.


-Five

DJofSD
06-19-2013, 07:32 AM
Since I program for a living in it C++ is it for me.


-Five
Is that a choice you make for yourself or is it due to the project requirements?

FiveWide
06-19-2013, 08:12 PM
Is that a choice you make for yourself or is it due to the project requirements?


True, I don't have much say in the language for the project but nearly all of my 13 years of professional experience has been C++. It's what I'm comfortable with although I have also done some Java, C# and various web development professionally. My home grown horse racing apps are mainly C++ but a few are in C# which I'm still learning.


-Five