Answer the question
In order to leave comments, you need to log in
How to organize self-learning in programming languages?
I set out to create my own website dedicated to sports forecasting. Started learning the basics of html, now connected css. But then I ran into a problem - I can not concentrate. There is a lot of information that is interesting to me, I grab onto copy-pasting various interesting css things (very amusing), I bookmark a lot of video lessons, I read different books, I use educational apps on my tablet, I grab onto those concepts that are very important to me for creating a site (for example, a file form handler, which I still can't understand at this stage) In other words, I add everything to the "Useful" directory :) but will it be useful? I really can't wait to start learning javascript and php. But it's hard for me to organize my time. Help with advice - how to organize self-study? Something like how much time to devote to learning new terms, how much to practice learned, when to move on to learning a new language? Maybe someone has their own technology, which eventually proved its worth.
Answer the question
In order to leave comments, you need to log in
1. Determine the minimum that you need to create a target product. Well, that is, the very minimum, minimum minimorum. For example: "To create my product, I need HTM L, CSS , JS and PH P. Without any of them, I won't be able to create my product. This is my necessary minimum."
2. And shield on the 1st sensible material (so as not to scatter efforts on 8 books and 15 online courses on JS , conditionally) for each tool. Moreover, I can give you recommendations on three of them: HTML5 + CSS3 + JS . PHP is not my forte, maybe my colleagues will tell you...
3. Learn in the same order: HTML , then CSS , then JS/PHP ( PHP/JS , see for yourself here).
4. Open the relevant material on the subject, familiarize yourself with the structure of the presentation of the material and determine for yourself the key points for breaking this material into blocks, each of which you will try to pass "in one sitting."
For example: you open a book on HTML , look at the content, and decide (based on the time you have that you are willing to devote to learning per day) that you will work on 2 chapters of the material per day.
Or: open material on JS, look at the content, and decide that you will work on the 1st topic per day (today - "JavaScript Fundamentals" , tomorrow - "Code Quality" , etc.)
5. By planning training in this way, you, importantly, You will roughly imagine the time that you will need for this.
6. Until you've completed your starter project, learn and practice only what you need to do. Start working directly on the project itself exactly at the moment when you feel that it's time. Here everything is individual.
7. After the implementation of the project, you can exhale, look around, set the next goals, taking into account the experience gained - and continue on your way!
To summarize:decide on a minimum of technologies, plan time for studying, learn technologies step by step - do not scatter your efforts, stick to the schedule.
PS It will be easier for you if you concentrate, set yourself the shortest possible time and "take this fortress with a blitzkrieg", because it's easiest to climb a slippery hill with a running start :)
For a young Padawan to speak fluently in the main web programming languages -
js css html
js first, then css and html,
you must immediately understand that if you wish, you can not use the possibility of using declarative programming at all - designing the design styles and structure of the document tree
Flanagan's tutorial is necessary completely digest
and php a little to start with - only basic server functions for working with folders and files
or better - learn api node.js - and make a server on js
js - a very simple language, nowhere easier, "Lisp in C's skin"
and the most cross-platform - for beginners, we
don’t forget the KISS principle - we appreciate minimalism-simplicity-lightness
without other people's frameworks and libraries, you will get maximum js performance - 3-5 times lower than in C.
In the process of studying, you need to write your own simple client-server application -
chat, drawing, text editor, game, etc. ...
the main thing - without using someone else's code
- without
libraries , frameworks and ready-made databases,
you should be able to independently create, process, save the data
you
need for simple functions - reading-writing data, scanning folders, authorization ...
offline and mobile first -
you must immediately understand that a mobile tablet or a touch screen is the main input means of the
bicycle first -
in order to learn how to do it, you yourself must
inevitably gain enlightenment after that
and become a real webmaster
or even a Jedi or a ninja, if the Force stays with you for
three to five years for this you need to gnaw on granite
and there is another way - the dark side of programming:
work on someone else's ready-made standard template-framework
endless circulation in the samsara of the capitalist industry communication with
morons
, psychopaths, swindlers, lazy people, etc.
office or freelance
suffering someone else's code
inability to do the necessary functionality on their own
constant googling of ready-made solutions
depression and despondency
//and the laziest become layout designers-underprogrammers))
normal programmers are divided into two types:
1) engineers - those who can write a template for themselves or for others
2) fitters and combers-winders - those who work within the framework of a ready-made template
- both types are needed, it all depends on your abilities and talents
How? Silently.
In general, we do this ..
We take and read. Read, code, read.
And so on ad infinitum. Well, or until you burn out)))
What did you think? Will it be easy!? And figs there!
I also have a lot of bookmarks that I have not yet read, or have not read completely.
What's better than two hours of DotA or stir up something new using the material you just studied?
Something must be sacrificed. And constantly.
Hello, dear questioner!
You remind me of myself to some extent))
As I remember, about one and a half to two years ago, when I was only familiar with html / css, I naively believed that I would soon start a mega cool popular project that brings an endless amount of ball (a la vk or even better). I will work for myself, exclusively. I'll be surrounded by pretty girls saying things like "Wow, he's a web developer... Mmmmm..." It's all sarcasm, of course. But I emphasize, I only knew html / css)).
But here it is time to study scripts, not markup languages.
Php or js, I thought?
After implementing simple drop-down menus in the navigation bar in js (jquery), I realized that this is not enough, because somehow you need to connect and store data somewhere (such as your future sports-themed project).
Well PHP! Everyone says that the language is easy to learn, half of the Internet is written in it, etc.
But I didn’t understand anything in PHP at all. And it was given to me for the first time with great difficulty.
You know, everyone's attention! I did not even understand what an array is and what it is for.
What about regular expressions? Why do you need to process forms?
Try explaining this to someone who only knows html/css.
Author, why am I?
The fact that you have a goal to create an interesting project is very good.
But I would recommend that you put your project aside for a while and create a simple business card site. Do it first in procedural PHP style and then in OOP. Use routing. Learn how to store data in database tables. Select, update and delete them. Once you learn how to do this, believe me - you will immediately feel that there is a certain path to go before a sports prediction project.
PS: My main job is far from programming, but I am trying to change the professional field. I study in the evenings, for 5 hours, on average + days off.
In any case, I wish you good luck!
The site is primarily information. Let's accept it. A site where the main thing is not information, but some kind of service, we will call a web application and will not be considered within the framework of this note.
What you will have is not clear. But HTML is needed for sure.
Representing information using HTML. CSS will be needed for externally visible (usually) styling.
This is the main thing.
HTML for each page can be manually prepared (written, layout), or programmatically. This is what static site generators or CMS do (and serve for).
Both of them take data from a source (files, databases, third-party HTTP services, ...), take page templates and fill them with data (this is called rendering). The output is a finished web page.
The difference is that a static site generator usually runs on the developer's computer. And the resulting pages - a set of files - are uploaded by the developer to the webserver.
CMS, on the other hand, generates a page at the time of the request and immediately sends the result to the browser, sometimes without even saving it anywhere (the need to save appears when the load increases or performance requirements increase, and then it is called caching). That is why the CMS works directly on the web server.
The most interesting thing is that a website generator or CMS can be written in almost any programming language.
If you do not know any, then you can start with any.
Understand where your program will work (site generator, CMS,...).
The options are:
1) your personal computer: the program will generate all site files and you will upload them to the server, incl. cheapest shared hosting.
2) virtual hosting under a Unix-compatible operating system: the program will run under a web server (Apache, nginx) somewhere on the provider's computers
3) virtual hosting under a Windows Server operating system: the program will run under a web server (IIS) where -something on the provider's computers
4) virtual or dedicated server: you choose the operating system and web server yourself, but the computer remains under the control of the provider.
The choice of option will affect a lot. For your costs, for your ability to set up and use different software.
In option 1, everything is in your hands, you can use any language that you can make work under your operating system.
Option 2 imposes restrictions: as a rule, any shared hosting provider will offer you (allow you to use) PHP and Perl. A rare hoster (but you can find one) will offer python or ruby.
Option 3 has its own characteristics. Almost always you will also be able to use PHP, but there is an opportunity to use Microsoft technologies and their languages VB.net, C# and others.
Option 4 brings us back to complete freedom again - you can use whatever you want. But it also requires more qualifications and responsibility from us - the server will have to be completely configured on its own or hire a system administrator.
You can choose any language, but your choice may lead you to option 4 if you don't find a host in your chosen language. This will require you to study longer and delay your project.
When I went down this path about 8 years ago, I already knew how to program in various not very popular languages.
And my first sites were generated by mine, and later by third-party generator programs and were a pack of HTML files.
Later I started using shared hosting. Firstly, he was already with clients, and secondly, I was not a system administrator and had no interest in becoming one.
So I had to learn PHP. Later, basic JavaScript was added to it, because. Website pages became more and more interactive.
For almost all tasks, the languages that I know are enough for me. Gradually I improve my skills, deepen my knowledge.
Yes, there are a lot of interesting things around and it appears all the time. About 30 tabs in my browser are open now. This is something I would be interested in exploring.
It is important to understand that the process of learning new things goes hand in hand with work. Not everything that I can learn interesting new things I can apply in my work.
Working projects use reliable, personally tested solutions. They are very conservative. They may not be the best in the world and outdated, but this allows me personally to sleep peacefully at night and respond to the work of projects in front of clients.
Therefore, open new tabs, add to bookmarks, watch video tutorials and read books, but do not expect to put it all into practice. But it will develop you.
It’s also good to find some kind of mentor who will at least give directions and set limits.
That was my boss at the job where I learned PHP. I worked in the conditions that were given to me, which greatly influenced the path of my development as a developer. It is far from common. With its pros and cons. But the main thing is that now, for seven years now, I have no other bosses but myself :)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question