Advice For Graduates: Get Into Rust, JavaScript, Python and/or Go

This year, we taught a whole cryptography module with Python and Node.js, and it was probably the first year we managed to cover most of…

Advice For Graduates: Get Into Rust, JavaScript, Python and/or Go

I say this now … in the future, everyone will be a developer, and write and use code in the same way we use Excel spreadsheets now. We have build a world of legacy software, but now it is being rebuilt, and everyone has a part to play.

This year, we taught a whole cryptography module with Python and Node.js, and it was probably the first year we managed to cover most of the core principles, while providing a practical implementation to them. If you are interested the module is here:

Near the end of the module, we found repl.it was a great place to share code, and provide good starting places, and so for next year, all of the labs will have repl.it code for all the places that Python and Node.js. And, we hope to, to add some Golang. Why? Well these langauges bring the subject alive, and make it real, and where students can see the RSA method becoming real, and where elliptic curves are not just pretty curves on a graph. We’d actually love to teach Rust, but that is perhaps one step too far.

But why Rust? Well, don’t tell anyone, but Rust is more loved by developers than Python and Go. Why? Well, it does produce great outputs, and forces you to write good code [here]:

For me, Rust takes a while to setup, and it checks lots of things, but once it’s up and running, it is rock solid in producing great code. To me, Golang is the place I normally start to produce crypto code, as it’s easy to integrate with GitHub sources (just a “go get” does the trick). And for Python, I know it’s great, but all the conversion from 2.7 to 3.8 has caused me so many problems and been costly in time. I, personally, do like the syntax of the language — and much prefer Golang — but I know its power. And it No 10, JavaScript is proving to be a well-liked langauge — even with all its faults. As it now has Node.js on the back-end, it is a must for most of the people who code.

But in the relagation zone — the languages developers least like) — are the ‘oldie’ battlers of VBA, Assembly, Perl, C/C++, PHP and Java:

Few people can actually like the horrible mess of VBA, or the clunkness of Objective-C, Perl and PHP. But Java appearing in this list shows that, while it might be popular, it is perhaps not well liked. For me, I’ve not coded much crypto in Java, and would only do it, if I couldn’t find a library in Python, Go, Rust or Node.js.

In terms of the languages most wanted, it is Python by a long way, but JavaScript, Go, TypeScript and Rust that do well here too:

For development evironments, there’s very little that can beat ASP.NET:

I have built my whole asecuritysite.com website from ASP.NET, and I built this site here on ASP.NET:

https://www.brightredbooks.net/subjects/

I would not use anything else, as it is one of the best MVC (Model, View and Controller) infrastructures you can get, and allows you to write your code in the controller, but seperate this from your data and your user interface. The JavaScript ones — such as React.js — are really taking off too. But it’s Angular.js that’s the one that is most dreaded:

But for most wanted, it is React.js that really pushes forward, and show the drive toward JavaScript integration at the front-end:

And don’t we still love .NET libraries, and the whole compatability thing, and when you have Pandas, Node.js and TensorFlow, you just loose:

But on the naughty step, are those integrations with Chef, Puppet and Xamarin:

The power of Node.js at the back, and it’s wonderfully easy integration shows it to be the most wanted for frameworks/libraries:

For databases, it is generally the open source ones of Redis, Elasticsearch and MongoDB that are the most loved (but Microsoft SQL Server makes an appearnce too):

And it the old (and often vendor-specific) databases that are the least liked:

Yes. Oracle and MySQL, you’re often not liked by developers. For those most wanted, the flexiability of MongoDB and Elasticsearch really shines:

And do developers love to develop in Microsoft Windows? Not really, and that operating system that is most loved, is, of course, Linux:

Docker and Kubernetes, too showcase a create infrastructure for code. But it’s Wordpress, with its horrible PHP, that give developers a difficult time, and Slac and Andriod, too, doesn’t fill them with hope:

But the most wanted shows the Docker, Kubernettes and AWS are just running ahead of the others:

And where is the place to share you code? Well, it’s GitHub by a mile, with Slakc doing well, and Microsoft Teams struggling to gain serious traction:

Conclusions

So get into GitHub, Linux, Docker, Kubbernetes, Python, Go, Rust, Node.js, and all the other great things that are rebuilding our world, and go and build a better world.