DEV Community

Discussion on: Why You Shouldn't Use A Web Framework

Collapse
 
raulmuroc profile image
RaulMuroc • Edited

Hello everybody,

First of all, thank you @DavidWickes for this post.

As others, I agree that the 'title' might be misleading but once you read the 'body' or let's say, the article itself, the misleading is clarified and solved.

To add some value to the discussions and put it simply while reinforcing the article: I agree and recommend what David Wickes states BUT I would separate it in two differing paths:

1) If you have never learned to program and want to be a programmer or related to it (software engineer, tester, architect, user...), then start as he mentions, spending 3-5 years learning the fundamentals.

Do that by:

1.1) ask yourself what topics would you like to specialize: are you going to be a Data Scientist, a Web developer, a Mobile developer, back-end, front-end or full-stack developer? Kernel developer or FW developer? Low-level languages or high-level languages? Compiled or interpreted? Caring of memory issues or let the choosen-language do it for you? Long etcetera. It might take you even a day or more to decide that but is worth it to spend some time to decide your future career and professional life.

1.2) do you want actually to "specialize" or be more a "generalist"? Meaning, do you one to pick-up one environment (mobile, web, business-process, business-apps, database-mgmt...) and be a master/guru solely on that topic(s) or do you want to be a programming-polyglot where you can program in 3+ languages, know OOP, algorithms fundamentals, etc and being able to apply to practically any job/environment but without getting deeper on those topics?

1.3) once went through them, start by learning fundamentals on that direction as suggested by the article:
1.3.1) search algorithms.
1.3.2) sort algorithns.
1.3.3) pseudocode usage.
1.3.4) design principles.
1.3.5) http
1.3.6) database & SQL.
1.3.7) one programming language that feeds previous decisions:
1.3.8) c/c++ for OS, kernel, cross-platform & performance needs.
1.3.9) java, python, ruby for non-performance needs, high-level needs.
1.3.10) JavaScript, PHP, CSS, HTML (long etc era and also the ones in 1.3.9) for web development.
1.3.11) IOS or android for Mobile DEV.

2) you are already an experienced developer but that relied too much on existing frameworks without first jumping to the fundamentals, then please go throw all points listed up in the 1) and 1*). It is time perhaps for you to go throw it deeply.

Hope it adds some help to what @david maybe (and I say "maybe") not that correctly wrote in the 'title' but that expertly described in the article's body.

Kind regards