بیشتر مردم نمی دانند که دستگاه آنها چگونه باینری پردازش می کند و با داده ها کار می کند، از ماشین لباسشویی گرفته تا تلفن هوشمند. من متوجه شدم که حتی برخی از برنامه نویسان هم چنین دانشی ندارند. من در واقع مقصر این گناه هستم!
من با یادگیری یک زبان برنامهنویسی ابتدا به جای تلاش برای درک رایانه در سطح سختافزار از دست دادم. به عنوان برنامه نویس، سخت افزار را کنترل می کنیم و در نهایت حتی اگر در جاوا اسکریپت برنامه نویسی می کنید، باید در مورد حافظه و نحوه عملکرد زبان بدانید. بنابراین درک دادههای باینری، حافظه دائمی و موقت، CPU، SPU، GPU، شبکه و موارد دیگر حتی اگر یک توسعهدهنده وب هستید، همچنان در مورد شما صدق میکند.
این دوره پایهای از دانش خواهد بود که در مورد موضوعات خاصی که باید پوشش داده شوند، میتوان آن را درک کرد. به شما یک پایه محکم برای رشد می دهد. من معتقد نیستم که اولاً درک یک زبان برنامه نویسی راه درستی برای پیشبرد امور است. زبان های برنامه نویسی به عنوان ابزاری برای ما تکامل یافته اند. نه رایانه! بنابراین، اگر سختافزار رایانه را درک کنیم، به وضوح متوجه میشویم که برنامههای ما چگونه دستگاه ما را کنترل میکنند.
کامپیوترها ابزارهایی هستند که ما آنها را برای بهرهمندی از نوع بشر ایجاد کردهایم، با این حال، مانند همه ابزارها، باید آنها را بیشتر و بیشتر بهبود بخشیم. با این حال، اصل اصلی رایانه ها از همان اولین رایانه ای که تا کنون اختراع شد، تغییر نکرده است. با گذشت زمان، ابزار یا رایانه اصلاح شده است. با این حال، فرآیند اصلی و سادگی در اصول زیربنایی از ابتدای محاسبات یکسان بوده است، یعنی پردازش یکها و هیچ. رایانهها در هر زمان از پردازش 8 به 64 بیت رسیدهاند. این فقط رایانه است که میتواند بیتهای بیشتری را پردازش کند و بنابراین عملیات قدرتمندتری را میتوان در یک زمان انجام داد.
اشتباه نکنید رایانهها بسیار پیشرفتهتر هستند، اما مفهوم تمام آنچه که میگویم به اندازهای ساده است که حتی یک مبتدی نیز میتواند آنچه را که اکثر مردم آن را پیشرفتهتر و بالاتر از سطح دستمزد خود میدانند، یاد بگیرد.
به همین ترتیب درک شبکه به ویژه برای توسعهدهندگان وب امروزی اهمیت حیاتی دارد. برنامههای بیشتری آنلاین میشوند، بنابراین درک زیرساختهای شبکه، که بیش از یک دهه است، امروز هنوز مهم است.
در مورد زبان های برنامه نویسی چطور؟ ما آنها را بهعنوان ابزاری برای برقراری ارتباط با این ماشینهای پردازش خام اختراع کردیم. ما باید درک کنیم که چرا زبان های برنامه نویسی داریم و چگونه کار می کنند. برای مثال، کامپایلرها یا ترانسپایلرها چیست؟ چگونه شکل ارتباط خود، زبانهای انسانی را گرفتهایم و آن را به یک ارتباط مؤثر برای دستکاری رایانه و زبانهای برنامهنویسی تبدیل کردهایم؟ در مورد متغیرها، ثابتها، توابع، اشیا و آرایههایی که امروزه در همه زبانهای اصلی برنامهنویسی وجود دارند، چطور؟ همچنین همه زبانها دارای اپراتور هستند و اگر آنها را در یک زبان برنامهنویسی نداشتید، اصلاً زبان برنامهنویسی نخواهید داشت.
در این دوره ما حتی بیشتر به پارادایم های برنامه نویسی خواهیم پرداخت. پارادایم فقط به معنای مدلی برای چگونگی انجام کاری است. بنابراین در این مورد میتوانیم برنامههایمان را به شیوهای خاص یا در پارادایم خاصی بنویسیم. تعداد بسیار کمی از مبتدیان سبک برنامه نویسی خود را در نظر می گیرند. هنگام ایجاد برنامههای مقیاس کوچک، کار چندان دشواری نیست، اما هنگام ایجاد برنامههای مقیاس بزرگ، پارادایمها ضروری میشوند.
بیشتر زبانهای برنامهنویسی به شما انعطافپذیری میدهند تا پارادایمها یا سبکهای برنامهنویسی را برای نوشتن برنامهتان ترکیب و مطابقت دهید. شما چند سبک اصلی مانند اسمبلی، رویه ای و شی گرا دارید. توجه داشته باشید که در یک برنامه واحد میتوانید این پارادایمها را معمولاً رویهای و شی گرا با هم ترکیب کنید تا آن بخش از برنامه در مقیاس بزرگ خود را به بهترین وجه تطبیق دهید. من سبکهای این پارادایمها را به شما نشان میدهم و سپس رویهای و OOP (پارادایم/برنامهنویسی شی گرا) را برای نشان دادن نحوه عملکرد ذهن انسان با پارادایمهای متفاوت اعمال میکنم. ثابت می کند که پارادایم های چندگانه راه رو به جلو هستند.
در پایان در پایان یادگیری چنین طیف وسیعی از موضوعات در یک دوره واضح و مختصر. شما همچنین در مورد مجوزهایی که باید به ویژه برای تازه واردان پوشش داده شود، یاد خواهید گرفت. سپس در مورد اخلاق نرم افزاری مانند DRM، حق ثبت اختراع نرم افزار و بسیاری از جنبه های دیگر از نحوه برخورد دولت با داده های شما بیاموزید.
بعد از همه اینها، اگر هنوز راضی نیستید، میتوانید 100% ضمانت بازگشت پول خود را داشته باشید، اگر دوره واقعاً هزینهای داشته باشد. بنابراین این بیت آخر واقعاً همان بیتی است که آن را می فروشد، چه چیزی برای از دست دادن دارید؟
مربی فنی لارنس تورتون به عنوان یک توسعه دهنده وب و طراح گرافیک متخصص در HTML ، CSS ، jQuery ، طراحی UI و UX کار می کند. او پیش از این با تولید وب سایت ها ، برنامه های آیفون و آندروید با Fifteendesign کار کرده و نمایندگی خود را در سال 2010 با نام Elite Web Design تاسیس کرده است. در آن زمان لارنس طیف گسترده ای از مشتریان را از شرکت های تولید تراشه های آبی تا شرکت های بزرگ تأسیس کرده است. از جوانی او یک مربی آنلاین بود و با دو نفر از متخصصان برتر آموزش آنلاین Cartoonsmart و Envato کار کرد. لارنس همیشه پروژه هایی را ایجاد می کرد که شامل طراحی در فتوشاپ و زنده کردن خلاقیت های خود با کدگذاری آنها با فناوری های وب بود. این امر از ابتدا تا انتها چشم انداز منحصر به فردی به پروژه های دنیای واقعی و اطلاعات زیادی برای تازه واردان به صنعت وب به وی می دهد.
نمایش نظرات