Java is mainly large enterprise back end systems, and some android, and quite a lot of embedded stuff (nominally what it was invented for), and, worryingly, quite a lot of client side GUI stuff.
C++ is used for legacy systems and where you need speed.
C is used where you need speed, have simple programs and memory constraints, and old fashioned unix software.
C# is for windows programming and .net
PHP is used for relatively simple web stuff, because it’s easy and works and has wide library support
Python is used for what PHP is by better developers, and has brilliant maths libraries so is increasingly used for anything maths related where esoteric things like matlab and R and F# are unhelpfully niche.
Haskell is used for academic curiosity, and some maths stuff.
Perl is dying out, but is still used for unix automation a fair bit.
Q: Web development—with the wide range of backend and frontend languages, frameworks, and all of the tools and dependencies developers deal with on a day-to-day basis building apps and sites—is inherently complex. What advice do you give folks who are just starting out in web development?
2) Second, pick something and get good at it. Pick a single frontend framework and a single backend framework and get to know them well. Try a variety of projects in them; find the places they annoy you; get to know the communities; dig in deep; give back.
I remember one of these all-hands meetings, somebody asked a question, and I don’t even remember what the question was,” said Lawson. “But I remember what Jeff’s response was. Jeff said, ‘We are a software company, just as much as that other company down in Redmond,’” a reference to Microsoft (MSFT).
What a great definition of what it is to be a software person: people who solve business problems with magnetic particles; not just developers, but people throughout a company who are able to see business problems who are trying to solve them through this lens. Software people fundamentally believe any problem can be solved once you pull that problem into the realm of software.”
And, “It’s a great time to be a software developer,” said Lawson. That’s because the smartphone is “digitizing” more and more of the world, bringing into into the domain of software.