آسایاد

نقطه شروع یادگیری

خانه / وبلاگ / هرگز کدنویسی یاد نگرفته اید؟ اینجا شروع کنید!

هرگز کدنویسی یاد نگرفته اید؟ اینجا شروع کنید!

یک آشنایی مقدماتی با HTML،CSS و بقیه زبانهای برنامه نویسی

 Skillcrush & Mashable

نویسندگان: Adda Birnir و Randle Browning | برگردان: حامد شهبازی

منبع این مقاله سایت معتبر Mashable است.

در حالت کلی، کدهای برنامه نویسی برای صحبت کردن، کنترل یا ارتباط با کامپیوترها بکار می روند. ” کدهای برنامه نویسی در واقع زبان کامپیوتر هستند” .

هر چیزی که شما به عنوان نرم افزار میشناسید- سیستم عامل کامپیوتر شما، نرم افزارهای تلفن همراه شما، وب سایت های مورد علاقه شما – توسط یک زبان کامپیوتری مثل Python، C، Java، Scala، Ruby، Go، PHP و چندین مورد دیگر طراحی و کد نویسی شده اند.

هدف این زبان ها آن است که برای من و شما برقراری ارتباط با کامپیوترها را ممکن سازد مشابه زبان انسان ها با این تفاوت که این زبان ها به سادگی به زبان ماشین ترجمه میشود.

زبان های کامپیوتری محدوده ی وسیعی از زبان های به شدت تکنیکی و  بسیار عددی تا زبان هایی مشابه زبان انگلیسی را شامل می گردد. در حالت کلی، صدها زبان کامپیوتری وجود دارد که شامل آنهایی که کاملا تصویری هستند و حتی زبانی که به ایسلندی هست می باشند!

این راهنما در مورد زبان های اصلی بحث میکند، که چگونه آنها به همدیگر ارتباط دارند، شما کدام یک را باید یاد بگیرید و از همه مهمتر اینکه چرا شما باید بخواهید که آنها را یاد بگیرید.

 

 

چه زبانی کامپیوتری را باید یاد بگیرید و چرا؟

با وجودی که صدها زبان سطح بالای کامپیوتری وجود دارد، تنها چند عدد از آنها استفاده تجاری دارند. ممکن است که شما نام آنها را شنیده باشید مثل : Java Script، PHP و Ruby .

قبل از آنکه به طور مشخص در مورد یک زبان صحبت کنیم، یک چیز را خاطر نشان  می کنیم : یک زبان به عنوان بهترین زبان برای یادگیری یا استفاده وجود ندارد. برنامه نویس ها دوست دارند بر سر اینکه یک زبان بهتر از زبان دیگر است با همدیگر بحث و جدل کنند و در بعضی موارد زبان های بخصوصی هستند که در مورد اهداف خاصی بیشترین محبوبیت را دارند.

بیشتر برنامه نویسان در طول مدت کار بیشتر از یک زبان را یاد خواهند گرفت و مهمترین عامل برای اینکه تصمیم بگیرید کدام زبان را استفاده کنید این است که :

 کدام را بیشتر از همه دوست دارید.

 

به طور کلی، این لیست ۱۵ زبان برنامه نویسی محبوب است :

 

 

HTML & CSS

ممکن است شما اصطلاحات ” زبان کامپیوتر” و ” زبان برنامه نویسی” را به طوری شنیده باشید که به جای همدیگر استفاده میشوند، اما در واقع آنها یکی نیستند. زبان های برنامه نویسی یک زیر مجموعه از زبان های کامپیوتری هستند که کامپیوترها را برنامه ریزی می کنند، یعنی به آنها می گویند که چه کاری انجام بدهند.

HTML و CSS دو نمونه از زبان های کامپیوتری هستند که به طور مشخص زبان برنامه نویسی به حساب نمی آیند. اما این بدان معنی نیست که شما نباید آنها را یاد بگیرید! در حقیقت، دانستن HTML و CSS یک پیش نیاز برای تمام توسعه دهندگان وب و بیشتر طراحان وب است و  بهترین محل برای شروع یادگیری توسعه دهنده وب می باشد!

HTML به جست و جو گر اینترنت شما می گوید که با هر قسمت از صفحه وب چه کاری باید انجام دهد.

فهمیدن اینکه یک جست و جو گر اینترنت چگونه HTML را تفسیر میکند یک لحظه جالب برای من بود! جست و جو گر اینترنت شما ( Chrome یا Firefox ) ساخته شده است که HTML  را بخواند( یا سایر زبان ها را).

وقتی که یک صفحه وب را باز میکنید چه چیزی می بینید؟ احتمالا عنوان صفحه، یک نوار جست و جو گر و چند قطعه متنی. یک جست و جو گر اینترنتی می تواند تفاوت بین یک پاراگراف و تیتر را تشخیص دهد چون تمام محتویات درون سایت توسط تگ های  HTML نشانه گزاری شده است.  تگ های HTML به این صورت به نظر می رسند :

<h1> این یک تیتر برای صفحه است</h1>

شما HTML  را مانند یک متن معمولی می نویسید و درون یک فایل با پسوند .html ذخیره می کنید.  HTML تنها چیزی است که شما برای درست کردن یک وب سایت باید داشته باشید اما به تنهایی چندان زیبا به نظر نمی رسد!

HTML خالی بدون CSS

 

در هنگامی که HTML وظیفه شناسایی و طبقه بندی هر قسمت از وب سایت را بر عهده می گیرد، CSS تعیین می کند که آنها چگونه به نظر برسند. در مثال بالا، شما ممکن است برداشت کرده باشید که تگ <p> در HTML به جست و جو گر می گوید که  متن یک پاراگراف است. برای اینکه تمام پاراگراف های خود را صورتی و برجسته کنیم، میتوانیم مقدری CSS بنویسیم مثل این :

HTML با CSS

مانند HTML، شما می توانید CSS  را هم در یک پردازنده متنی ساده بنویسید اما به جای پسوند .html باید به آن پسوند .css اختصاص بدهید.

با استفاده از CSS، شما میتوانید وب سایت را با رنگ ها، فضای خالی، حاشیه بندی، فونت های متفاوت و … زیبا سازی کنید. قدرت CSS، در این حقیقت نهفته است که به طور کلی وب سایت را کنترل می کند، به آن یک استایل کامل می دهد با استفاده از یکی از چهار چوب ها(Framework). شما نیازی به تصمیم گیری در مورد هر صفحه ندارید و اگر بخواهید کل صفحات را تغییر دهید می توانید تنها یک صفحه CSS را عوض کنید.

مهارت های HTML و CSS بسیار مفید هستند و بیشتر اوقات با کارهای زیادی ترکیب می شوند و کاربران زیادی از آنها استفاده می کنند: از بازاریابان  شبکه های اجتماعی تا کاربران با تجربه طراح وب سایت.

 

 

JAVASCRIPT

آیا برای شما اتفاق افتاده است که در هنگام ورود به یک وب سایت یکی از آن صفحات پاپ آپز (popups) باز شده است با این عنوان که “سلام!! به صفحه روزنامه ما هم یک نگاهی بیاندازید!!” ؟ یا هنگامی که twitter  شما به صورت اتوماتیک به روز رسانی میشود؟ یا هنگامی که بر روی یک نوار افتان در یک سایت ویژه موبایل کلیک میکنید؟ همه اینها نمونه های از JavaScript هستند.

JavaScript وب سایت ها را واکنش پذیر می سازد. جاوا HTML و CSS را تحت کنترل خودش میگیرد و آنها را حرکت می دهد بدون آنکه صفحه دوباره بارگزاری گردد. اگر چیزی روی صفحه وب سایت حرکت کرد و شما کاری انجام ندادید که باعث آن گردد ( مثلا باز شدن یک صفحه جدید وقتی روی لینکی کلیک می کنید)، آن کار JavaScript است.

JavaScript مدت طولانی است که به کار برده می شود اما تا همین ده سال اخیر محبوبیت چندانی نداشت تا زمان ورود “AJAX” و “Web 2.0” . اینها مجموعه ای از تکنولوژی بودند که از JavaScript به صورتی کاملا نوین استفاده می کردند، که باعث شدند وب ها بسیار واکنش گراتر از قبل گردند.

در این روزها، JavaScript به شدت محبوب است، بویژه در چهارچوب هایی که باعث سادگی همکاری آن با HTML و CSS می شود. چهار چوب های محبوب شامل Ember.js، Angular.js  و Backbone.js می باشند که همه آنها اجازه استفاده پیچیده تر از AJAX  را می دهند. همینطور Node.js  که به شما اجازه اجرای JavaScript بر روی یک سرور را می دهد. این موضوع باعث شده که JavaScript به یکی از محبوب ترین و بروزترین زبان های کامپیوتری تبدیل گردد. یک تحقیق در مورد کاریابی در سال ۲۰۱۴ نشان داد که JavaScript محبوب ترین برنامه مورد نیاز بوده و آشنایی با آن تقریبا در ۱۴ درصد از تبلیغات برای کار جز شرایط مورد نیاز می باشد.

شما همچنین ممکن است در مورد “Java”  شنیده باشید اما در واقع یک زبان کاملا متفاوت است ( بعدا در مورد آن صحبت خواهیم کرد).

زبان هایی که تا اینجا معرفی شد HTML، CSS و JavaScript همه در حوزه زبانهای برنامه نویسی “frontend” یا سمت کاربر هستند. بدین معنی که این زبانها با بخشی از وب سایت سر و کار دارند که شما به عنوان یک بازدید کننده می بینید و با آن در ارتباط هستید. این به معنی دگمه ها، منو های افتان و فونت های برجسته شده بزرگ و … می باشد. زبان های سمت کاربر یا frontend به شما اجازه می دهد که چگونگی قرار گیری بخش های مختلف در وب سایت را و چگونگی واکنش دادن به کاربران را  کنترل کنید.

اما برای ساختن یک وب سایت کار بسیار بیشتری نیاز است. وب سایت ها بسیار شبیه به کوه یخی هستند، شما تنها چیزی را که  بالای آب قرار دارد می بینید ( frontend)، اما در زیر آب صدها متر عمق دارند.

سمت سرور “backend” همه چیزهایی است که اتفاق می افتد قبل از اینکه به جست و جوگر اینترنتی شما برسد: سیستم و ساختاری که اطلاعاتی را که محتویات وب سایت شما را می سازند، اصلاح و ذخیره سازی می کند. برای نمونه، اگر شما در حال رزرو کردن یک پرواز هستید،  در سمت سرور است که قیمت ها چک می شوند، برنامه سفر رزرو می گردد و از کارت اعتباری شما هزینه آن را کم می کند. سمت سرور یک وب سایت می تواند اصلاح شود حتی بدون آنکه کاربر متوجه انجام این تغییرات گردد. به طور معمول، وقتی کسی از اصطلاح برنامه نویسی استفاده می کند به کارهایی که در سمت سرور انجام می شود اشاره می نماید.

 

تمام برنامه های زیر در سمت سرور استفاده می گردند :

 

 

PYTHON

Python یک زبان برنامه نویسی سطح بالا می باشد که شما از آن استفاده می کردید اگر یک دانشجو رشته زیست شناسی یا ریاضی می بودید! برای طبقه بندی اطلاعات و تحقیقات علمی عالی است. در جای خود، حتی Google  هم Python  را دوست دارد ( Youtube  با استفاده از Python نوشته شده است) زیرا، Google با اطلاعات بسیار زیادی سر و کار دارد.

با وجود اینکه برای وب ساخته نشده است اما با استفاده از Django  و چند چهارچوب دیگر و کدهای از پیش آماده برای استفاده های معمولی، هر روز تعداد بیشتری از توسعه دهندگان وب به سمت استفاده از Python در طراحی وب متمایل می گردند به ویژه وب سایت هایی که با حجم وسیعی داده یا آنالیز متن سر و کار دارند.

 

 

COBOL

تلاش های اولیه افسر نیروی دریایی Grace Hopper بر روی تفسیر کننده ها منتج به توسعه زبان COBL در سال ۱۹۶۹ گردید. یکی از اولین زبان های برنامه نویسی سطح بالا که به طور وسیعی به کار گرفته شد.

بدون در نظر گرفتن تاریخ توسعه آن، یا شاید به دلیل، Cobol هنوز در سرتاسر اینترنت وجود دارد.Deon Newman رییس شرکت IBM می گوید : ” ۲۳ تا از ۲۵ تا خرده فروش بزرگ، ۹۲ عدد از ۱۰۰ بانک برتر دنیا و ۱۰ عدد از بزرگترین بیمه های دنیا هسته اصلی برنامه نویسی خود رو با استفاده از Cobol  بر روی پردازنده های مرکزی IBM قرار داده اند.”

نگارش برنامه های نرم افزاری جدید در زبان Cobol  در میان شرکت ها رایج نیست به جای آن، از برنامه های قدیمی نوشته شده استفاده می شود. این بدان دلیل است که کدهای بسیاری به زبان Cobol وجود دارند و تعداد کمی توسعه دهنده جدید هستند که زحمت یادگیری آن را بر خود هموار می کنند، پس توسعه دهندگان Cobol  دارای هواداران زیادی هستند. فقط انتظار نداشته باشید کسانی را که طرفدار تکنولوژی جدید هستند تحت تاثیر قرار دهید.

 

 

C

مشابه Cobol، زبان C نیز به ۱۹۶۹ باز می گردد، هنگامی که در آزمایشگاه Bell متولد شد. C در حقیقت بر پایه یک زبان اولیه برنامه نویسی به نام B بنیان گذاشته شد! C به شدت محبوب شد و بعضی آن را محبوب ترین زبان برنامه نویسی که تا کنون به وجود آمده به حساب می آورند. همچنان به صورت وسیع در برنامه های علمی مربوط به کامپیوتر آموزش داده می شود.

C یک زبان منعطف است که نیاز به تغییرات چندانی برای کار کردن در سیستم های عامل گوناگون مانند Mac، Windows و Linux  ندارد.

C معمولا به عنوان یک زبان کامپیوتری سطح پایین در نظر گرفته می شود زیرا بیشتر مرتبط به زبان ماشین می باشد و بیشتر برای برقرار ارتباط بین سخت افزارهای کامپیوتر استفاده می شود. فکر کنید: هنگامی که کامپیوتر شما متوجه می شود که شما یک سی دی درون درایور قرار داده اید( درایور شما با زبان C این موضوع را منتقل می کند).

 

 

JAVA

اگر شما تا کنون برای بارگزاری یک انیمیشن یا عنصر واکنش گرا بر روی یک صفحه وب سایت صبر کرده اید در حالی که یک فنجان قهوه بر روی صفحه نمایش داده می شود، شما در حال تلاش برای بارگزاری Java بوده اید.

Java ( هیچ ارتباطی با JavaScript ندارد ) یک زبان برنامه نویسی شی گرا می باشد که معمولا برای قرار دادن تصاویر متحرک یا سایر موارد در سیستم های مختلف به کار می رود. برنامه نویسان Java به صورت تاریخی از عبارت ” یک بار بنویس و همه جا استفاده کن” استفاده می کنند تا نشان دهند که Java به ما اجازه می دهد تا کدها را بدون نیاز به تغییر یا پیچیدگی زیاد به سیستم های مختلف ( مثلا از موبایل به کامپیوتر رومیزی) و سیستم عامل های مختلف جابه جا کنیم!

 

 

++C

خوب در زبان های برنامه نویسی ++ به این معنی است که ” این را بگیر و یکی به آن اضافه کن”. به خاطر می آورید در بازی سوپر ماریو بعضی اوقات شما یک آیتم “۱ Up” می گرفتید؟ این دقیقا همان چیزی است که ( به صورت عالی) برنامه نویس Bjarne Stroustrup از نامگذاری این زبان به C++ در نظر داست. یعنی این زبان یکی بهتر از C است!

یکی از نکات برتری C++ به نسبت زبان C مربوط به ذخیره سازی و مرتب کردن اطلاعات است. به جای ذخیره سازی تمام اطلاعات در یک کد بسیار طولانی، زنجیره غیر قابل خواندن، C++ یک زبان برنامه نویسی شی گرا است – این زبان علاقه دارد که اطلاعات را دسته بندی کند. این تفاوت مشابه آن است که شما ناهار خود را در یک ظرف ناهار به سرکار ببرید و یا اینکه تلاش کنید یک سیب زیر بغل، یک ساندویچ در یک دست و یک نوشیدنی در دست دیگر و مقداری خلال سیب زمینی در دهانتان!

توصیه می کنیم از ظرف ناهار استفاده کنید!

به این دلیل که در دسته بندی اطلاعات بسیار بهتر عمل می کند، C++ در برنامه های بزرگ و پیچیده مثل Windows استفاده فراوانی دارد. عیب ها؟ آن همه اطلاعات دسته بندی شده حجم بالایی از حافظه را اشغال می کنند.

Cracking The Code

 

#C

متوجه شده اید که تعداد زیادی مشابه زبان C وجود دارند؟ C زبان بسیار قدرتمندی است، بنابراین منطقی است که زبان های زیادی از آن مشتق شده باشند.

اما C# مشترکات زیادی با C یا C++ ندارد. بخش #  هم معنی زیادی ندارد. اصالتا به عنوان “Cool” معرفی شد، به C# معروف شد جون Windows زبانهای دیگری مانند A# و F# هم قبل از شروع به کار C# ساخته بود.

همانند C++، C# هم برای ساخت بسیاری از برنامه های Windows استفاده شده است و برای توسعه دهندگان وبی که بر روی سرورهای ویندوزی کار می کنند گزینه مناسبی است.

برای اهداف عملی، بعضی های می گویند که روند یادگیری C# سخت تر است اما می توانید پروسه توسعه سریعتر و تمیزتری به نسبت C++  و C داشته باشید.

 

 

 

RUBY

Ruby بر اساس این باور توسعه یافت که زبان برنامه نویسی باید تا حد ممکن شبیه زبان انسان ها باشد.

در ۱۹۹۵، Yukihiro Matsumoto، یا Matz؛ Ruby را برای برنامه نویسان طراحی کرد تا آسانتر بنویسند و درک کنند. یک مثال محبوب نشان می دهد که چقدر نوشتن “Ha, ha, ha” در زبان Ruby  ساده است.

 

در زبانهای برنامه نویسی معمولی اینکار به صورت زیر انجام می شود :

شکل دستور if در زبان های برنامه نویسی

اما در زبان Ruby  بدین شکل است:

شکل if در زبان برنامه نویسی ruby

خیلی بهتره، درسته؟

۱۰ سال بعدتر، در ۲۰۰۵، چهار چوب Ruby on Raild ساخت وب سایت با استفاده از زبان Ruby  را ممکن ساخت. اکنون یکی از محبوب ترین زبان های برنامه نویسی است و وبسایت های محبوبی مثل Twitterو Hulu از آن استفاده می کنند.

 

 

PHP

PHP یکی از محبوب ترین زبان های برنامه نویسی وب سایت هست، بیشتر برای آنکه اولین زبان برنامه نویسی بود که برای استفاده در وب طراحی شد و زبانی هست که WordPress با آن نوشته شده است ( WordPress ) به تنهایی ۲۰% وب سایت های دنیا را می سازد).

هنگامی که شما برای یک سرور وب درخواست یک صفحه را می فرستید،  کار PHP  است که آن را به هم مرتبط کند. هنگامی که شما یک بلاگ WordPress را جست جو می کنید یا یک پست در Facebook می گزارید، PHP است که این کارهای را ممکن می سازد.

برخلاف Ruby  یا Python، PHP به صورت پیش فرض بر روی بیشتر سرورهای وب موجود است. هر کسی که یک بار مسیر نصب Ruby  روی سیستم Mac را آزمایش کرده باشد می داند که این نکته بسیار مهمی است!

شما بیشتر اوقات PHP  را همراه با LAMP می بینید. LAMP یک نام برای روش معمول نصب سرور وب، پایگاه داده، سیستم عامل و زبان وب است :

Linux (سیستم عامل )

Apache ( سرور وب)

MySQL ( پایگاه داده)

PHP ( زبان برنامه نویسی وب)

 

 

SQL

هنگامی که شما یک وب سایت می سازید، آدرس شما یک URL است، آن جایی است که کاربران می توانند شما را پیدا کنند اما همه اطلاعات شما آنجا نیست.

هنگامی که شما یک پست بر روی بلاگ خود می نویسید، شما در واقع تمام آن متن را به پایگاه داده ها می فرستید. هر باری که صفحه بارگزاری می شود، آن متن از پایگاه داده شما بازخوانی می شود تا کاربران بتوانند آن متن را بخوانند.

برای وارد کردن و خارج کردن اطلاعات از پایگاه داده ها، شما با استفاده از یک زبان برنامه نویسی مانند SQL با آن صحبت می کنید. SQL را با MySQL اشتباه نگیرید: SQL یک زبان برنامه نویسی است و MySQL یک پایگاه داده محبوب است که به زبان SQL صحبت می کند. دیگر پایگاه های داده محبوب SQL عبارتند از : Miscrosft SQL Server  و PostgresSQL.

SQL مخفف ” زبان رشته ای ساختار یافته ” ( Structured Query Language) است و از بعضی جهات، بسیار سرراست می باشد. مثلا شما می خواهید تمام کابرانی که بالای ۳۵ هستند را از پایگاه داده بازیابی کنید :

SELECT name FROM users WHERE age >35

شما باید همچنین در نظر بگیرید که: برخی از مردم ضدSQL هستند یا بخشی از جنبش ” NoSQL movement” و ترجیح می دهند از پایگاه داده هایی استفاده کنند که در این حد ساختار یافته نباشند. یک پایگاه داده جایگزین Cassandra است اما موارد دیگر هم وجود دارند. بسیاری از کمپانی ها ( مثل Facebook و Twitter )، ترکیبی از هر دو را استفاده می کنند، پس وارد بودن به شیوه کار چندین پایگاه داده یکی از مواردی است که شما باید در رزومه خود به عنوان مدیریت پایگاه داده ها بدان اشاره کنید.

 

 

OBJECTIVE-C

Objective-C در سال ۱۹۸۳ ساخته شد، اما اخیرا به شدت محبوب شده است زیرا باعث کارآمدتر شدن OSX و برنامه های iPhone گردیده است. این زبان شبیه زبان C می باشد اما با یک نسخه اضافی که آن را بیشتر شی گرا می کند. برخی دیگر از قابلیت های Objective-C از زبان Smalltalk سرچشمه می گیرند.

هر چند که کمپانی Apple به تازگی یک زبان جدید برای برنامه نویسی موبایل ارائه کرده است، Objective-C همچنان زبانی است که شما باید یاد بگیرید اگر قصد ورود به بازار توسعه نرم افزارهای مربوط به iPhone را دارید.

 

 

SWIFT

Swift یک زبان برنامه نویسی است که به طور اختصاصی برای برنامه نویسی Apple  در سیستم عامل IOS طراحی شده است، بدین معنا که شما می توانید با آن برای iPhone و Mac  برنامه بنویسید. در سال ۲۰۱۰ توسط Chris Lattner شروع شد، زبان کاملا جدید در سال ۲۰۱۴ رونمایی شد و بر اساس Objective-C می باشد اما برای بهبود برخی از مشکلات Objective-C  ساخته شده و همچنین کار کردن با آن برای توسعه دهندگان ساده تر شده است.

در این مرحله، تعداد زیادی باگ و مشکل در Swift وجود دارند که در حال برطرف شده می باشد، بنابراین اگر شما می خواهید چیزی  برای  IOS یا OSX بسازید باید همچنان Objective-C را یاد بگیرید.

 

 

R

به خاطر می آورید که گفتیم Python  به طور خاص برای استفاده های آکادمیک و سایر کسانی که با حجم زیادی از اطلاعات روبرو هستند مناسب می باشد؟ R نیز برای اطلاعات طراحی شده است، و تعداد زیادی از ارزیابی های آنلاین؛ گرافیکها و برنامه های آماری با استفاده از R ساخته شده اند.

از این رو، R یک زبان کاربر پسند نیست و بیشتر توسط کاربران آکادمیک یا کسانی که با اطلاعات زیادی روبرو هستند استفاده می گردد.

اگر ایده استفاده از اطلاعات زیاد به ذهن شما می رسد، یادگیری زبان R می تواند مسیر مناسبی برای شما باشد.

Real Time Web Analytics