View Single Post
Old 12-03-2017, 10:00 PM   #31399
Katsunami
Grand Sorcerer
Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.
 
Katsunami's Avatar
 
Posts: 6,111
Karma: 34000001
Join Date: Mar 2008
Device: KPW1, KA1
Developing software based on web technologies is becoming some sort of a farce.

I'm looking into this, just to expand my skill set. I'm normally a software engineer doing factory automation or embedded software (programming PCL's, or writing stuff in C/C++ to make firmwares).

However, I don't want to use C or C++ to write some 'fun stuff.' I've been into AI before AI was cool (Hi, DeepMind, and AlphaGo), but never took too much time to do projects with it because writing that sort of software takes A LOT of research, and then it's VERY time consuming writing code in C(++), especially if you want to make an app out of it.

Then there's Java (which I hate), and C# (which I don't want to use, even though it's now becoming cross-platform).

So, I've been hearing about stuff like Node.JS, and Electron, and so on... which enables web technologies to be used to write cross-platform applications. It can interface to C++. Nice... I could write the user interface in web tech stuff, write the AI-engine for whatever I'm doing in C/C++, and then call that from the Electron front-end.

Cool. So I take a peek, and discover.... complete and utter crazyness.

- On the back end: PHP. Because you don't want to write everything yourself, you'd best use a framework. OK, I'll dust off CodeIgniter...
- Or not. Yii seems to be bigger now. I've used that in the past. Fine, let's download....
- Nah. It's now Version 2, and it isn't compatible with Version 1. Just learn everything anew, all over again. I could just as well pick Symphony, Laravel, or Falcon. Maybe CakePHP is still alive too; I don't know.
- I haven't even looked into Node.JS on the server to replace PHP, but there are a bazillion frameworks for that as well.
- Javascript has had a major overhaul (ES6) in 2015.
- There's something called CoffeeScript, which I've seen mentioned, as calibre uses it; it seems to be a programming language on top of Javascript, giving it a different syntax.
- However, Coffeescript is said to have been 'defeated' by Typescript, which is a superset of Javascript.
- Then you have Node.JS, which is now basically used for everything: backend, front-end, AND package management.
- Nobody seems to install anything anymore by downloading a javacript file. They use Bower... OK. I've heard about that. Made a splash at around 2013.
- Eh. What? Bower? Deprecated. They advise you to use Yarn or Webpack.
- So, I look into Yarn, and discover that it's fast becoming a replacement for npm, which is NodeJS's package manager. And you can install it by using npm. Great. Install one package manager using another.
- Task runners... Ah. Grunt. Heard about that. Let's look into that too.
- *screeching halt* : Grunt? Damn... that's so 2014. Everyone's using Gulp now.
- Or Broccoli.
- You see, I haven't even mentioned Less, which was a nice pre-processor for CSS, which I learned while using Bootstrap....
- F****. Bootstrap uses the SASS pre-processor now. And if you think Bootstrap isn't enough, there's also Angular, Aurelia, Vue.js, and React.js. And what about Backbone.js and Knockout.js? Can't we just use something like...
- JQuery? No. If you do that in 2017, you'll apparently be shot.

It's no wonder no companies can find qualified developers. NOBODY KNOWS WHAT THEY'RE DOING! Not the companies, not the developers.

Web technologies, since the last 4-5 years, seem to go from fad to buzz, with a new framework, task runner, Javascript scaffold, or language-inside-a-language being the fad-du-jour.

Whatever you've used in the past (before 2014), it's irrelevant now. There's SO MUCH stuff now, starting at the server side and all the way up to the front-end, that it's impossible to keep up.

The only thing you can do is take a look at the biggest players, choose some stuff you like best for whatever reason, and start making your own hobby stuff... hoping that it's not TOO difficult to switch to the new (or different) fad if you ever get employed to write software based on web technologies.

"Have you ever worked with...?"

You'll be forced to lie at a job application, because the chance that the answer really *is* "yes", is one in a bazillion. Then hope there's not a test to write some code, and when you get home, start looking into that stuff like crazy, hoping you know enough to not get killed when you're hired.

This is no way to build or continue a stable career. I should have become a lawyer or a politician, and by this time in my life, I would have been filthy rich.

edit: Looking into typescript, the first thing I see is this:
Code:
function add(left: number, right: number): number {
	return left + right;
}
WHY would anyone want to use the Pascal-version of type declarations in a curly-brace, C-influenced language like Javascript?!

left : number
right: number
function add() : number

REALLY, MICROSOFT? There *really* wasn't a way to use C-type syntax, lilke most (all?) curly-braced languages?

int left;
int right;
int add();

Djeez.

Last edited by Katsunami; 12-03-2017 at 10:21 PM.
Katsunami is offline   Reply With Quote