search
HomeBackend DevelopmentPHP TutorialThe path to becoming a coder: 5 things I should have done long ago


In the past few months, I have been learning how to build iOS applications with Objective-C, and now I finally have some clues. I have to sigh, this is much harder than I thought.
Tangled, confused, frustrated, the time spent actually writing code is not even as much time as finding and fixing bugs. But when I finally got to play with the mobile app game development I made myself, I suddenly felt that all the hard work was worth it!
On the road of making apps, I learned a lot - not only about how to develop iOS apps, but also about overall planning, and even my programming skills improved. But in fact, there are many problems that can be avoided if I adopt other methods when learning Objective-C.
Integrating these experiences, if I were asked to re-learn code today, I would do this:
Find a "coding friend"
First of all, find someone with whom you can exchange your experiences "Code Friend".
A friend of mine, Josh, a Python developer who also knows Objective-C, was very grateful for the many substantive questions I asked ("How to use if statements again?"), and when I was at a loss for words When I was trying to figure it out, he would also help me debug a thing or two. It can be said that teaching and learning complement each other.
Honestly, I benefit a lot from having such a patient coder friend explain basic programming principles to me. If I had such a friend earlier, I believe I would not have taken so many detours in Objective-C.
Use all available resources
If you don’t have such a patient coder around you, then you can use the following methods to get help:
1. Stack Overflow
When you encounter specific grammar and development questions, just go to StackOverflow. However, I personally have not asked questions online because just reading other people’s questions and answers is enough.
2. Subscribe to online journals
The learning resources on the Internet are complicated and sometimes confusing for beginners. Some online journals will regularly push recent highlights to you. , allowing you to study selectively.
3. Treehouse
teaches you how to program through video lessons and built-in community forums.
4. askadev
askadev can connect you to experienced developers when you need help. I haven’t tried it myself, so I don’t know if this covers all programming languages, but one thing is good, it’s free. So next time if you encounter any problem, you can give it a try.
5. Codementor
If you don’t mind spending some money to get help from experienced developers, then give Codementor a try. It will match you with the best options, including Android, iOS, HTML, CSS, PHP, Python, etc.
6 It can also be a toaster. When you explain, you will often have an idea and suddenly think of the answer (or find something wrong).
Learn the basic principles
The reason why many things become obstacles is because of our own misunderstanding or unfamiliarity with the technology we are using.
For example, using an API means understanding how the API works, how to use POST and GET requests, and how to parse JSON data. Even how to receive JSON data needs to be known.
If you want to build an iOS application, just learning Objective-C is not enough - at least not enough to build the app I have in mind. I've made this mistake before.
What’s worse is that I often get stuck. Even though there are forum explanations, online tutorials, and book chapter explanations, they all skip some basic principles-thinking I know but actually I don’t. .
If I were asked to learn again, I would definitely master the basic knowledge of HTML and CSS. If I were asked to make an app again, I would never start blindly like now, but would lay a solid foundation first.
The first language
Any language is wealth. Even if the HTML and CSS I learned have no use yet, I still don’t think learning them is a waste of time.
Beginners can try building a website with HTML and CSS at the beginning. These are essentially markup languages, so they may not be of much help to you when building mobile or web applications. But even if it is useless, we can still gain a lot of knowledge and experience in the learning process, which will facilitate us to learn the next programming language.
If you just started learning code but don’t know where to start, just pick your favorite books, tutorials or online courses, and don’t hesitate as long as you feel ok. Once you have a specific goal, you can immediately move on to learn different programming languages.
Find a project that you really want to do
I consider myself a pretty studious person. I first learned HTML and CSS when I was a teenager, and then a few years ago. I have learned the basics of Ruby, and recently set my sights on Python.
Then I decided to learn Objective-C, but I learned Objective-C not because I liked it more, nor because I was greedy when I saw others learning it, but because I wanted to make an iOS application— —I really, really want to make one myself.
It can be said that the passion for learning Objective-C language is higher than any other language in the past.
The most important thing is that when I encountered various difficulties and when I was frustrated, I never thought about giving up - because this is a project that I really want to do. Even a small improvement is the motivation for me to persist.
If you are considering learning to code and don’t have any other constraints, choose a programming language that you are truly passionate about and that you need to build projects.
Everyone’s learning process is different, so your experience may be different from mine, but if you are starting out or thinking about learning to code, I really hope that my experience and lessons can help. You learn faster.
Receive LAMP Brothers original PHP video tutorial CD/"Essential PHP in Details" for free. For details, please contact the official customer service:
http://www.lampbrother.net



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.