A novice programmer looks at an intimidating technological landscape

·

3 min read

Hi,

I started to learn PHP and therefore came in direct contact with HTML, CSS, and JavaScript.

HTML looks manageable, but even CSS requires many decisions that I can't answer as a beginner. JavaScript looks a lot scarier, and I don't even want to talk about the TypeScript hype.

Most of the time, I find answers on MDN, but as soon as it is not about language and syntax anymore, the world outside seems to want to eat me up – alive.

I found HTMLtidy, but I can hardly find any references or projects where HTMLtidy is used; it seems that HTML is solved.

CSS is already another challenge.

There is not only CSS, but also Less, Sass, SCSS, Stylus, PostCSS, CSS-next, and many more.

Some of these tools need Node.js, others Ruby. As a PHP developer, it is not answerable why I need Node.js or Ruby to use CSS. Why can't I stay with PHP to solve CSS?

Browsers don't seem to handle CSS in a very consistent way, and so I need tools that create vendor prefixes, minimize CSS, Linting, or remove unused definitions. With the latter, however, the tools often fail me. How can a tool know which CSS is used anyway?

JavaScript is a different beast, a monster like from a horror movie.

Babel, ESLint, ECMAScript, ES6, Node.js, Browserify, Webpack, Parcel, Rollup, npm, yarn, Chrome DevTools, Tree-Shacking, remove unused code, Polyfills, V8, SpiderMonkey, and whatnot.

Again, I can't answer why most tools need Node.js, Ruby, or Go and why I can't just stay in my PHP world.

The biggest websites are written in PHP. Facebook, Wikipedia, WordPress, and yet it seems that everyone tries to convince me that PHP is no longer the right choice.

I feel exhausted. And when I finally believe in making a step forward with JavaScript, this TypesScript comes along.

Now there are types, and somehow I am supposed to convert TypeScript with tsc or Babel to JavaScript, and both require decisions I can't answer.

It also seems to me that TypeScript is hyped by force. A new JavaScript project is announced on Twitter, and soon many people (trying) force the author to switch to TypeScript or do not want to use the project. Are you no longer a good developer if you don't use TypeScript?

I find countless articles on the Internet claiming that TypeScript produces better code, developers are more productive, or applications are less error-prone.

But there is no post, or I can't find a single post, that claims that TypeScript can make someone a better developer.

As a beginner, I don't know how to use TypeScript at all.

@fibric referred me here, and he said that I could learn a lot here.

I hope that I can defeat these evil monsters with your help.

Thanks!