Is it worth looking towards PHP to someone who decided only on the second attempt to learn how to decently program?

    Hello, friends. With great caution I touch on such a holivar topic, but I want to tell my little story about why, when I was already far from being a student, I decided to still study programming, and what am I going to use (oh my God) to implement my PHP intentions . I will be glad to receive valuable advice and guidance from your colleagues in the IT industry.

    Looking ahead, I’ll say that in the comments to the topic (except for holivars about languages) a lot of useful things are said. For which many thanks to the Habrovsk residents.

    Personal experience

    My career was not developing in the most typical way: I constantly worked at once in several organizations and almost always on a free schedule. Why have they put up with me everywhere? It seems that for versatility: he could build a network with his own hands, set up an office server on Debian, he could draw a neat leaflet in CorelDraw, preparing it for printing with color separation, he could teach older employees to “go online”, he could draw and make up a template for CMS and alone, in a couple of weeks, deploy a small site for the company, could automate something locally with programs written on the knee, when it became clear that several routine operations at times slow down the entire workflow of the department or office as a whole. Could and did all this.

    There is nothing special to be proud of, as you understand, I did not become a highly specialized professional in any of the affected sectors, but became a kind of universal IT all-around athlete, a middle-aged person who appears and brings maximum benefit wherever in a small team solve many problems at once. However, I don’t complain about life at all, because some time ago I managed to launch my own small, but developing regional web studio. And there I am my own project manager. We mainly develop on CMS Drupal and less often on the Yii framework, which, as you know, is written in PHP.

    Now, frankly, it’s a little awkward for me to manage a couple of worthy programmers, whose JS and PHP code I understand only 20%.

    The university and many places of work taught me the basics of three languages: C ++, Java and PHP. Well, as taught, I’m just familiar with the basic algorithmic constructs, I can sort the array with dozens of methods (because of the course student written on this topic), I understand how stacks and queues are arranged, I am familiar with OOP at the level of concepts and training tasks. In general, I know programming as an ordinary, but diligent student of a mediocre technical university. But in practice, for some reason, PHP always helped me out, besides luring me with my most baked cookies from the dark side.

    I wrote shell scripts in PHP to correct long table reports via PHPExcel , parse sites without APIs first with regulars, and then using phpQuery, bydokodil (interfering with the layout with the logic) web pages displaying current prices on the Internet from the local MSSQL database of the warehouse system, making all kinds of converters from the category "here you upload the wrong file, and then download the correct one using this link and the amount will be written in there ". In general, no matter how hard I push myself to use the right language and the right approach when solving a practical problem, everything always slides to the fact that the solution, quickly and ugly enough at the architecture level (without any OOP and MVC), was created in PHP . At the same time, from the outside, the solution looked workable and behaved, alas, also as quite workable. It suited everyone, even me, because there was no time to give in to reflection and curse myself for not observing aesthetics.

    But now I decided it was time to settle down. I will no longer become a professional programmer, but I would really like to get to the junior level with the right thoughts and hands. I have a little time for self-training, and, most importantly, I already know how to force myself to do something regularly, which should positively affect the educational process. At the same time, I am so grateful to the PHP who helped me out many times that I now want to master it in the right way. I do not believe that the lack of strict typing can ruin my second attempt.

    But where to start again to grow righta programmer? I don’t know this. In PHP, I didn’t read books at all, but studied by the code from articles with comments scattered on the net. In Java, I remember a book that I liked - its author Khabibullin. But this book does not teach style and the right approaches, although it is familiar with the language and platform. And the book is not about PHP.

    What to do?

    What is your diagnosis, colleagues? Is it possible, in your opinion, to relearn programming or, in a hurry to quickly solve routine tasks, I irrevocably branded myself the role of the eternal “hilarious bydcoder”?

    What are the first steps, in your opinion, that I should now take: what to read, what practical tasks to solve, what taboos to set for yourself?

    PS And so as not to get up twice, I’ll ask quite probably a ridiculous question: which IDE do you recommend using? I am ashamed to admit that I wrote all the megabytes of my code in PSPad and tested it in the browser with the F5 button, reading about errors and notices and returning to correct them again in the editor. And how and in what way are the correct programmers debugging?

    PPS It’s easier to treat a patient according to known symptoms, so I’ll probably give a few examples illustrating the mess in my head. I’ll ask some stupid questions that haunt me:

    1. Give a minimal example that illustrates the MVC model so that you can see the practical profits from its use?

    2. They say: write safe code. But what are the basic rules? For example, I understand that if what came through GET or POST without checking and processing is sent to the SQL query, then it will be a disaster. But what other typical shoals are there in safety, which should be immediately afraid and not allowed as SQL injections?

    3. I met several different code formatting guides. They sometimes postulate conflicting things. Is there somewhere at least one Russian-language guide where for each point an explanation would be given in the spirit of “it should be made out like this because it solves such and such problems”?

    Intermediate Results

    In the comments, Juraseg advised Steve McConnell's "Perfect Code" and several people advised "PHP Objects, Patterns and Practices" at once. Unfortunately, my English is weak, so I will read the translation.

    Cord provided links to specific Russian-language articles and even shared his own program of "classes", according to which he is preparing his own team.

    Many fiercely recommend and support JetBrains PHP Storm as the most correct IDE for PHP.

    Also, many write that since I had everything without ideologically correct knowledge of programming, there is nothing to anger my fate, we must continue to do what we do, rocking managerial skills.

    Well, and many advise you to score in PHP and look in the direction of other languages, mainly in the direction of Python. On this topic, I liked the philosophical comment from LayneBuchyn that in order to thickly troll objectively criticize PHP, you need to know PHP perfectly.

    Also popular now: