If you had to start over, what technologies would you learn in 2014?
I got an email recently from a long-time programmer who had to step out of the game for a little while. They basically had a hiatus from programming due to situations out of their control, but now are looking at getting back in.
They asked, quoting from the email:
If you had to “start over,” what are the technologies, languages, paradigms and platforms I need to be up-to-date and mastering in my new world of 2014?
It’s daunting if not downright scary. I can *learn* anything, and do - quickly. I feel like I’ve been sooooo out of the loop, it’s not even funny.
I think we can all relate to feeling like this. I've talked about this before in my post "I'm a phony" about imposter syndrome. Technology is changing so fast it's hard to be a "professional" at anything. Ultimately, we're all amateurs.
To the root question, though, what technologies would I learn?
This question comes up a lot. I tell people this. Learn one language you can build large systems with AND also learn JavaScript. For me, that's C# and JavaScript. For someone else, the "systems" language might be Erlang, or Groovy, or Ruby, or Java, or Scala. That language matters less to me. Your goal is to be able to write applications for the web, as well as write other systems.
Pick a language that feels right
Learn a language that has a community behind it and that has been a part of building successful systems. Learn a language that lets you create the kinds of systems you want to create. For me, I picked C# because I can write web apps, Windows apps, Mac apps, iPhone apps, Windows Phone apps, SmartWatch apps, and tiny embedded apps, but above all because I enjoy writing C#.
There are many other languages that have a wonderfully rich breadth of power and expressiveness. Python is one, Java is another, and JavaScript and node can even control robots. Pick a language with personality and breadth, and learn that language the hard way, by doing. Read lots of code and lots of books. Pick a language that fits your brain and helps you learn how to think, and when you do think, think about abstractions'.
Write while you learn your new language. Write about what you discover, what works, what doesn't. Write even though no one may be reading; you may find that they are reading. Join your new language's community and go to its user groups. Remember not to have ego, you are not your code.
Bet on the Web
There's lots of talk about App Stores these days. Everyone has them and they are clearly where the money is made. But today's (2014's) App Stores are still broken. Updates are a hassle, even when they are automatic. Apps (on all platforms) get stuck in broken updating states and have to be reinstalled, updates are often huge and rarely use smart patching and deltas. App Stores can become weed-filled gardens if they aren't attended to.
The web persists, though. We have issues like net neutrality to work out, and walled gardens like Facebook, our standards orgs are stuck in committee, and we get a new identity subsystem every few years, but the web is winning. The web will persist and the web will win. That's why I suggest you learn JavaScript. (Learn HTML5 and CSS3 also and learn to create and consume JSON services.) JavaScript is the virtual machine that we all have installed and JavaScript is the language of the web. (For some, JavaScript is Assembly Language.) It's not going anywhere, so that why you should learn it.
Aim to be able to create web sites, web apps, and rich connected apps and systems. Also aim to know a language that lets you write applications that you can put in the App Store for any of a billion connected devices.
That's my advice to someone starting over in 2014.
Sponsor: Big Thanks to Aspose for sponsoring the blog this week! Aspose.Total for .NET has all the APIs you need to create, manipulate and convert Microsoft Office documents and a host of other file formats in your applications. Curious? Start a free trial today.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Math^2 + Probability + Statistics + neural networks + low level C/C++ = AI
Just because it looks like robots are going to take out our planet :)
I want to be better and to beat them all
That being said, MS platform lock in prevents me from working in that language.
If it were 2001 and I were making these decisions - I did in fact, back then, coming from Perl and Javascript [FWIW in 2001] - I would not believe that in 2014 I'd be primarily programming in languages (Scala and Clojure) on the JVM. In 2001 I started over and picked C# and it was good.
Now in 2014, having recently - over the past 4 years - started over and picking Scala, I'd probably pick Clojure (and, of course, the excellent ClojureScript) for all the reasons Frans mentioned above.
xaxaxa ... that's what they were telling us for a little more than 10 years now. and yet still everyone I know who is in the software business makes more money with old fashioned desktop software than with "SAAS" web app style products (which are often making losses). But I'm not in the valley and thus not captured in a VC fueled bubble.
The web will win where it won already: as an information medium to replace newspapers, tv stationes and the like. But as a software platform it is a lost cause.
I'd be inclined to agree with you with one addition - SQL for the database end.
I cannot see this going away any time soon, and due to the various standards behind it it's going to be relatively stable (hell, I chucked out a training manual from SQL Server 4.2 the other week, and most of that was still relevant) and applicable across many vendors whether T-SQL or not. At least a basic grounding in creating tables, crud and Sp's would be enough for a novice to get a tick in the box to get a job interview - the majority of jobs I see have SQL in there somewhere...
Having said all that as a long time MS devotee I'm now learning the MEAN stack as well, using MongoDB, so what do I know...? There's always so much to learn...
I used it in university a decade ago but didn't fully appreciate it. Now that I'm wiser I can see that it is still fast and still powerful.
I think app stores will fade away in future. Browser based applications are the future. There will be no need to install anything or any updates. Just enter the url and go. From a developer perspective you have only to support one platform. There are also no restrictions from the app store owners.
For me the browser is the OS of the future. More and more features are baked into it. So learning Javascript+Html+CSS is essential. There will be something better then Javascript but it's still 2014. Googles Dart maybe? I don't like it yet.
When thinking about using javascript one should also consider using typescript. For me it's like using c# in the browser (not really today but language and tools become better over time).
Of course also tools and workflows matter. Not only the language. AngularJS e.g. is a nice MVC framework.
For anyone who disagrees, checkout AngularJS or any of the other rapidly advancing JS MV* frameworks.
I used to be all about VB but C# eventually got me. So much more documentation.
I've tried a little JavaScript, but it's so easy to go down the rabbit hole without strong typing.
And SO much of what is out there is just terrible. Frankly I don't know how 90% of the web even works.
When I look at JS code in a lot of places it's just nasty.
I know. Its here to stay.
on the inside cover it said, "a Data General like Cobol".
I'll say. We took our DG application and just loaded it and it compiled with zero errors. Even the syntax logging the terminal number (which would make no sense in a single user operating system).
Heh. Choose a language? Then it assembler, Fortran or Cobol. No SQL yet.
later it was Rexx.
whew.
Libraries for this programming style are being created for almost any popular platform, and knowledge is spreading quickly. I recommend following some tutorial or online course on the subject.
Software is fashion, friends. You can watch the waves come in and pick your set (Bodie).
For me, living in Mexico and without any desire to move, the choices are drastically reduced. We mainly work for companies such as Intel, IBM and Oracle, at least the decent paying jobs are there, which pretty much reduces your options to either .Net, Java or embedded C. Yes, we do have some (very few) options to work on Ruby or Python and we have a lot of options to work on PHP... but the pay is usually a fraction of a low paying Java job.
So, the advise I always give to students is to learn whatever language they enjoy... and also learn Java... and also learn JavaScript (there are A LOT more jobs for Java over here.) If they are lucky, they will end up working full time in the language they enjoy, otherwise, they will be proficient to work with another language, and have fun on the side with their language of choice.
However i disagree that app stores is where the money is made. The average or median app store app would take something like 50 years to recover its labor cost, most are made by developers out of their own passion. Even with the financially successful, most are gambles, however some are just very well made and positioned. Many that make a lot of money through an acquisition however aren't really just them mobile app but the service behind.
Most of the money isn't made in mobile apps, but rather in consumer services, and business and enterprise software.
Databases are an undervalued skill, but so important for so much of what we do. Learn their predominant language.
If I was starting now I would go to Linux / PostgreSQL / Scala.
Actually I started transition already, partly for the reasons mentioned by Frans.
Yeah, C#, terrible choice. Much better to learn some JVM language. After all, Java runs on 3 billion devices, and only 1 billion of them even support the Ask toolbar.
It's always healthy to know more than ONEWAY to do stuff, and you will always stay sharp to adapt into a new environment in this way.
So stay open and pick your technology for 2014. Myself I'm moving into the mainstream wonders of JS/AngularJS, with a pragmatic focus. Find a problem, solve it with the new technology and you will learn way more than if you read a book.
Best regards
Having said that there's a difference between learning for love and learning for profit. Most jobs are in Java or C# and require some SQL.
I'm not against C#, I like the language a lot, it's just that it is tied to a platform for non-mobile apps which has a bit of an unclear future. Let's hope that is cleared up soon at \\build.
Take a look at that bookcase for example (and our own), and you'll see that almost all end of life technologies are those created by Microsoft. The non-MS books are just for an older version of a maturing tech, still relevant.
The same can be said about my resume'. All the irrelevant technologies are by MS - the rest are still applicable today.
So yes, I am starting over - again. But this time I'm moving away from Microsoft because I'm sick of starting from the bottom every 5 years. I've installed Linux Mint and for the first time in a while I've actually enjoyed starting over.
One semester of a general discrete mathematics would make for much better programmers --- one week of relational algebra or relational calculus would make for much better databases and SQL queries.
No matter what you'd start over with, understand it deeply. Abstractions may reduce how much you have to learn to start, but you'll fall apart when it comes time to debug if you're too abstracted from how the tools you're using were built.
- JavaScript
- html5
- CSS3
- Node.js
- Cloud ( MS azure/google cloud ) - for CI/Scale/Host
I am starting over with these stuff.
Though tools/frameworks/IDE are fine to me, I'll go to it to get things done for many reasons, one of them would be platform specific challenges.
Multi Layered Applications, UML, OCL, DDD, Persistence mapping, …
Maintain business classes and relationships as UML diagrams, automatic creation and modification of your database schema, UML state diagram execution, undo/redo support, prototyping, etc, etc, ...
http://www.new.capableobjects.com/
ECO for ASP.NET MVC
http://www.new.capableobjects.com/category/microsoft-things-we-use/mvc/
I'm tired of lock-ins, ridicule, ignorance, arrogance, licensing, and artificial technology life span.
why everyone care about mobile app ?
mobile app is good for what they used to but not everything work with mobile app
does ERP software (CRM,Inventory,Accounting) work on mobile app?maybe with little data entry and some little query.
C#+Asp.net MVC+SQL server+Html+Javascript+CSS+Javascript framework or library is what i need for at least 5 years from now
C# + XAML + DirectX (via SharpDX) ...
No other technologies give me the abilities to express myself as smoothly as these 3 technologies (thanks to great tooling and support from the community)...
I consider myself a pretty good Web Developer YET I can say 100% I would stand by my decision of C#/XAML/SharpDX..
....
xaxaxa ... that's what they were telling us for a little more than 10 years now. and yet still everyone I know who is in the software business makes more money with old fashioned desktop software than with "SAAS" web app style products (which are often making losses). But I'm not in the valley and thus not captured in a VC fueled bubble.
The web will win where it won already: as an information medium to replace newspapers, tv stationes and the like. But as a software platform it is a lost cause.
e-commerce: SAAS solutions, web based, way more business and money on the web than in mobile apps, and nothing for the desktop. That's the field I work in, and our projects aren't making losses. And no external funding to artificially fuel the thing.
Around that there is a whole ecosystem: payment, logistics, analytics, tax handling, etc, which is doing fine on the web too.
On another subject, one can mention business software running on intranet interfaces. Those are very common, and even if it's not 'the web', it's definitely developed with web technology: web client/web services (though sometimes it has a desktop makeup with some desktop interface hosting a web view).
Nowadays, which large enterprise 'desktop' software doesn't speak http for REST/SOAP services consumption ?
In my opinion, Scott is 100% correct, if not 'the web', at least web technology has won, so to be current as a software developer, one general purpose language + javascript and knowledge of web tech is the way to go.
The first 5 years of my career I did some programming in VB5 and later VB6 on database driven software. The past 10 years the only 'language' I have touched is VBA and I abused that beyond all intended use.
Last year I decided that programming with a current language/framework would be a good skill to pick up.
I decided on the web and started with html and javascript. It wasn't that successful for me though.
Knowing what I know now I've re-restarted with the following goals (in order):
1. Start with C# to get familiar with a modern language.
2. Get comfortable with Entity Framework, reacquaint with SQL and learn LINQ.
3. Move on to building web APIs using C# and EF
4. Basic html+js+css (including jQuery)
5. Familiarize with AngularJS.
Currently at step 2. Step 1. brought me to this blog :)
The primary reason is that CSS is broken and always was. No one seems to talk about this and it comes as an enormous surprise to anyone that comes from a programming background into web development when they learn that the entire fabric of the web is a series of hacks upon hacks.
There is still no layout system for CSS, you still cannot reliably center an element, let alone complex layouts that are trivial to XAML or other GUI frameworks.
New, emerging standards are built upon the old CSS flawed system, so they are always compromised. Then even that new standard has bugs and flaws across all the browser versions and vendors; it will take a decade before layout isn't a terrible pain.
Almost everything in CSS is broken or bugged or inconsistent in some way. Its a disaster that no one is discussing.
Imagine building Facebook Paper in HTML! No wonder Facebook tried HTML5 and withdrew. It's in dire need of a new industry approach and as long as people are in denial, it ain't gonna get any better.
Although you need a general idea of how it works, I'd leave front-end web development to those specialists with the stomach for it.
Luke
Working to learn the fundamentals, and ideas behind a language, or even framework, translates across technologies, and lets you move more seamlessly between languages. You may be able to fairly quickly understand the syntax of a language, and be able to write code and be productive in that language.
Using C# as an example, when working with LINQ, are you understanding only the syntax, or are you trying to understand what LINQ actually represents? Not only from the ability to have an abstraction of a single "query language" that can operate on multiple data sources, but the deeper levels of how it relates to the history of functional languages and the functions map/reduce/filter/etc from all the way back in the early LISP days, and how it promotes more declarative style of coding, data transformations, and immutability.
JavaScript is one of the well renowned languages where people often don't bother to actually learn the language. There are a number of people who come into it thinking that they pretty much already know what it is about, since they have done C/C++/Java/C# and one curly brace language is like another. They wind up using all of The Bad PartsTM and saying how the language is all bad, when they never got into truly understanding the good parts, not to mention the background, influences, and constraints of the language when it was designed.
Unfortunately, we are, as an industry of software development, too concerned with the now, and specific instead of focused on knowing our history and underlying principles. We tend to care about which specific tool or framework we know, instead of understanding what that tool or framework sets out to address, and where the strengths and limitations of it are.
Working to understand those principles and concepts, helps you be able to pick up knew technologies, languages, tools, frameworks, etc, much more quickly since the principles don't change as often as the toolset. This puts you in a much better position, since when The New ShinyTM comes out, you already know what The New ShinyTM is trying to solve, and the learning curve becomes that much smaller as you have seen it before, just in a different incarnation.
JavaScript is terrible in all three fronts. A good JavaScript programmer can have an amazing amount of productivity, but it can be quickly compromised by the lack of type-safety and it's LSD-like syntax. For the same reasons, it's very difficult to maintain an application larger than say a simple TODO app. The language has never been popular until the advent of JQuery and the dizzying number of Frameworks designed to cover-up its pain points. The predicated use of browser plugins, Flash and SilverLight also gave it a big boost. Sadly, Microsoft could have dominated the web front end market if it only supported SilverLight.
On the other hand, C# and the .NET Framework wins hands down based on the same criteria. The language has strong type safety, reasonable performance and can be highly maintainable following coding conventions and best practices. It also has a flexible programming model with the introduction of LINQ. There's little not to like about it.
Not long ago we were talking about back-end web web development returning HTML, but now should we move to front-end web apps consuming JSON? ("Angle Brackets vs. Curly Braces") I love T-SQL, but kids these days are getting away with a lot less relational data structure - and doing amazing things. Is MVC the design pattern of choice, or should I focus on RESTful Web APIs? Do I even need a back-end programming language, or will node.js and JavaScript own the entire world? Is there even a future in desktop browsers, or is everything going to become a mobile app?
It's both exciting and exhausting.
Java and .NET are popular in the enterprise with .NET becoming more popular and in some reports overtaking Java in Fortune 500 companies. Windows is also very popular, with iOS coming-in for mobile working.
However, in the valley and in start-ups, open source and new JVM languages are popular. Linux is also a no-brainer since it has no licensing overhead. Java is seen as boring, so maybe Java is in its twilight years.
If you're a mathematical person, you may get your rocks off to F# and build financial applications or parallel programming. If you're a web hipster, you may find Scala on Linux or node.js totally floats your boat.
For me, I tend to agree with Joe above. I think the sun shines out of .NET's back side most of the time, even if the frameworks come and go and XAML's templates give me a migraine.
Let's not forget that the CLR is an open specification, Microsoft just didn't make any effort to build a runtime for other platforms and other people didn't either, because Windows runs on 90% of computers.
Times have changed, and MS appear to be moving their eggs out of the Windows basket and becoming interested in helping the Xamarin project. I really hope they do even more to extend the reach of .NET.
Personally, I'm not sure how important open-source is. I'm frequently told it is and feel I must agree without really ever understanding why its a good thing. I like paying for things and I like to know my money improves the product and pays other programmers mortgages.
My experience is that controlling companies with a small team of talented and committed people tend to produce better, more cohesive products and that paying for something means you have support and some risk mitigation, control over your destiny - which is important if you're building say, a national stock exchange.
My biggest regret in learning C# and .NET is how spoiled I have become. I cannot abide Objective-C or CSS/JavaScript, which probably would have better rewarded me as an entrepreneur, but I have earned well from coding for finance houses and I so enjoy the 'beauty' of my chosen tools.
I do feel let down by MS missing the boat on the personal computing future.
Luke
My biggest regret in learning C# and .NET is how spoiled I have become. I cannot abide Objective-C or CSS/JavaScript, which probably would have better rewarded me as an entrepreneur, but I have earned well from coding for finance houses and I so enjoy the 'beauty' of my chosen tools.
This is me too. I have done well with C#/.NET but now as I look around for new opportunities I'm finding that by having focused on C#/.NET I have eliminated many options that I might otherwise find interesting and challenging.
Interestingly, in the comments above there's not a lot of love for PHP. I've always avoided PHP but as I check out the local job market, I'd guess that over 50% of the postings indicate that PHP is either required or an asset. I'm starting to think I need to take another look at it and maybe spend some time becoming proficient. I don't expect I'll love it, but a man's gotta feed his family.
I left the world of programming for 5 years and when I returned things had changed a lot. It was not my first choice for technologies (not even close), but I ended up earning most of my income using PHP. I chose to be an entrepreneur and work remotely from home. Those two choices decided my technology stack. When I got back into programming I tried pretty hard to steer clear of PHP and focused more on Python & C#, but the work kept coming in PHP (LAMP + HTML/CSS/JS).
CLR is an open specification
In theory.. but there are certain doubts over patents that could be used against Mono (see Microsoft's Empty Promise - fsf.org).
My (non-work) project uses c#+mono+nginx with asp.net mvc, developed on Linux Mint with MonoDevelop - a nice slap in the face for Microsoft, you might say. However, there is the possibility that they are allowing mono to become an integral part of Linux systems, and then pull the rug from us.
You could try Objective-C, which is a Smalltalk-influenced approach to doing object oriented programming with a C basis. (As opposed to the approach taken by C++.)
If Smalltalk would create a Rectangle object with
Rectangle width: 100 height: 200
In Objective-C (and sorta following the Apple conventions that favor verbose method names) you might call a class method like so:
[Rectangle rectangleWithWidth:100 height:200];
Objective-C is effectively limited to being useful for Mac and iOS development, but that's a pretty healthy, if crowded, market.
Yesterday I found this project implementing XAML using Javascript rendering it on the HTML5 canvas control. I know, at first I was, WTF... but then I downloaded the project (it is open source) and started experimenting - it is not complete and require more community involvement - but man! my mind was blown. I tested a simple XAML login and tile page I created using copy/paste XAML from my Silverlight app with a new Typescript code behind (similar to C#), using browserstack... WOW!!!
To have XAML running in almost 100% of the environments, including IPhone, Android, Mac was just mind blowing.
So go there and see for yourself... http://fayde.wsick.com/home.aspx
.Net is never a bad investment. JS programmers always use the latest fashionable OS framework from another funky vendor. I've been there. Lead dev gone, other newer framework. Also competion can peek at your source anytime which is not an advantage I can say.
Lot of people here think that web is easy for developers because browsers are the future etc etc. (Developer perspective) Scott your wrong here too. Its not. Internet is here to stay but the web is going to be clogged with add ware or wrap ware or google and bing adds nobody wants. The future is apps, controlable apps for a few buck or free. Jobs was right here. I go to news sites less and less. I use there apps because they work better and faster (user perspective). There is also way more and way easier money there. You just need a good idea and some good .Net skills.
That might have been the case 10 years ago, with uglifyjs and similar tools it is impossible to see the source in any meaningful manner.
While I get it that Scott wants to promote C# (which would be a decent language if it finally got rid of the curly braces) the choices for most would probably be angular.js and coffeescript, together with one of the many mobile backends as a service. This is what will replace VB for enterprise apps in the near future.
I actually did start-over last year and after the initial hump I have to say I'm enjoying it tremendously. I really got tired of Microsoft pushing new stuff down every few years. is it MFC ? .NET ? Silverlight ? XAML ? what's the flavor of the year ? What will it be a few years from now ? C# is all good but I was spending too much time learning the new APIs & hooks and frameworks to do the same basic things over and over again.
With Objective-C and Cocoa at least it is the only choice for iOS and OSX for the foreseeable future, and its maturing nicely. The new SpriteKit for example is an absolute joy to use if you already know Objective-C & Cocoa.
In my (admittedly anecdotal) experience all my non-techie friends (my Dad for instance) prefer Apps to the web. It helps them to feel in control of the experience when they always know where to go and what to touch to achieve something. I gave up trying to set bookmarks for my father on his iPad and simply downloaded apps for the major things he might like (BBC, Yahoo weather, etc) In my experience he finds it far more convenient than going into the browser and wrestling multiple tabs and bookmarks.
The App Store model is successful for a reason. It's not a coincidence that it came after the web and overtook it in popular usage. It is successful because the average user likes it.
About "Microsoft continuously dumping technologies" - it is simply not true. Main reason MS is good for enterprise is their backward compatibility and support. Silverlight is the only notable exception, but honestly: that technology was in the "experimental" state and 0 strategic future until it's death. What about Python that has two incompatible versions out there? Or Scala that's famous about breaking backward-compatibility and the best recommended Scala books of 2011 are avoidable today because of all the changes in the Scala world. Or Objective-C (somebody mentioned above as stable) that in 2006 introduced "modern garbage collection" then in 2012 they basically removed it?
In IT one needs to constantly learn whatever technologies you choose.
Remember Flash? Thats why.
SL is not dead either. Its in the 'freezer' now. Who knows in the future, its just .net in the browser or out-of-browser over the internet (pretty cool).
I didn't say that SL was bad. I actually LOVED what it became when it stepped out of the browser. The problem was that MS couldn't decide in 4 versions what SL was and what it was for. By the last version they did but by that time the Windows team killed it (at least that's how it looks like for the outsider). Sad story of a great idea. I don't believe in resurrection.
In my new world of 2014, if I had to “start over”, I learn Visual Basic 6.0 and the assembly language !
I ended up going back to C# and expanding my knowledge to cover MVC which forces me to do more javascript and/or jquery. In addition, I have also decided to learn/do mobile development and am taking a java class in preparation.
I think it is important to learn the webstuff first because I think this will stay for a very long period because it is running everywhere without problems. Every system/platform has a browser. With web interfaces you can do the most. You can run it on the web, you can run it inside an executable (webview/embedded browser), in the cloud without need to learn all the extended features of a vendor specific language.
The problem with vendor/platform specific languages like (Android) Java, C#, XCode etc is that when the platform become unpopular you can throw your code away. To give you some example: Windows Mobile (actually most of the old tech of MS).
Learn:
- HTML5 (by following standards like W3C)
- CSS3 and responsive techniques (one design adapts different screensizes at once) This is very difficult to do in any other language but with CSS you can do amazing things!
- Javascript
- JQuery and Ajax
- Principles of Touch interfaces
- Tricks about security
Some people say that a WebView is slower than native code. They are right but in most situations you don't need so much power for your app. Besides, phones and other devices become faster these days. It is not bad, I made also some games with it. Also you can build Javascript interface to interact with the native executable. An example is PhoneGap and many others but you can also do it yourself (like I did, it's fun!).
Also with Ajax (Javascript) you can easily connect to a server. About servers, learn PHP or NodeJS. When choosing NodeJS it allot easier knowing Javascript.
With all this stuff you can do amazing things, and.... there is a standard that is not vendor specific.
Success!
Now I'm looking forward to a more language, platform agnostic future...
The JVM Ecosystem on the Backend...
The JavaScript Ecosystem on the Frontend,...
Loosely Couple Everything...
By now I would be very skilled and could reuse lot of code. C# is good, so is Java, Python and many others, but C++ is always there low memory usage and gr8 performance.
Comments are closed.