در محبوبیت جاوا نمیتوان شک کرد. در لیست ۵۰۰ شرکت برتر جهان که نشریه معتبر و مطرح تجارت آمریکا به نام فرچون Fortune هرساله تهیه میکند، مشتریان جاوا را بهوضوح میتوان پیدا کرد. ۹۰ درصد شرکتهای لیست فرچون، مفهوم شعار معروف جاوا یکبار بنویسید، همهجا اجرا کنید؛ را تجربه کردند و از جاوا استفاده میکنند. یادگرفتن و تسلط بر جاوا علاوه بر فرصتهای شغلی بسیار عالی در همه جای جهان، به شما فرصت آشنایی با ماشین مجازی معروف جاوا JVM را میدهد. کار کردن با این ماشین یعنی شما یک توسعهدهنده قدرتمند چند سکویی هستید.
جاوا زبانی است که هنگامیکه تصمیم میگیرید توسعهدهنده بکاند شوید یا مدیریت big data را انجام دهید یا برای گوشیهای اندروید برنامهنویسی کنید، به کار شما میآید. حوزه کار جاوا بسیار گسترده است. فرض کنید از یک سیستم کامپیوتری توکار استفاده میکنید. منظور رایانه شما نیست؛ بلکه سیستمهای میکروپروسسوری است که بهطور روزمره با آن سروکار دارید. از آنهایی که در دستگاههای خودپرداز بانکها هستند تا درونگوشی همراه یا حتی ماوس شما و هزاران جای دیگر. با جاوا میتوانید برای این قبیل سیستمهای جاسازیشده درون سیستمهای بزرگتر که به Embedded System معروف هستند، برنامهنویسی کنید. با تکنولوژی رو به رشد میکروپروسسورها و استفاده آن در همهجا آیا برنامه نویسان جاوا دچار افت تقاضای کار میشوند؟
جاوا هماکنون هم از مرسومترین زبانهای برنامهنویسی است؛ اگرچه تا حدودی کند است، البته نسبت به زبانهای کامپایلری؛ ولی جذابیتهای جاوا بهقدری است که نه در دهه آینده و نه حتی فراتر از آن هیچ جا نخواهد رفت و به فعالیت موفق خود ادامه میدهد.
با این گستره موقعیت و فرصت شغلی انتخاب جاوا، باوجود محبوبیت بیشتر زبانهای دیگر، در لیست بهترین زبانهای برنامهنویسی، کار خوبی است. شاید در ابتدا JAVA برای شما سخت و طاقتفرسا باشد ولی باگذشت زمان این سختی به لذت خوردن یک فنجان قهوه تبدیل میشود.
جمعبندی تحلیل زبان جاوا در لیست بهترین زبانهای برنامهنویسی
جاوا جایی برای صحبت نمیگذارد. جاوا قدرتمند، جذاب و پردرآمد است. با یادگیری جاوا در ایران به پروژههای بزرگ وارد میشوید و با درک JAVA بهراحتی میتوانید به زبانهای دیگر هم سری بزنید و موفق باشید.
وضعیت محبوبیت جاوا در طی پنج سال گذشته
نمونه کدنویسی در زبان جاوا
public class StandardDeviation {
public static void main(String[] args) {
double[] numArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
double SD = calculateSD(numArray);
System.out.format("Standard Deviation = %.6f", SD);
}
public static double calculateSD(double numArray[]) {
double sum = 0.0, standardDeviation = 0.0;
for(double num : numArray) {
sum += num;
}
double mean = sum / 10;
for(double num: numArray) {
standardDeviation += Math.pow(num - mean, 2);
}
return Math.sqrt(standardDeviation / 10);
}
اولین گام برای یادگیری برنامه نویسی ، عبور از پل الگوریتم و فلوچارت هست وقتی شما با این دو موضوع آشنا باشید و بتونید برای هر چیزی یک الگوریتم بنویسید و اون مسئله رو به صورت الگوریتمی حل کنید خیلی راحتر در زمینه برنامه نویسی پیشرفت می کنید.
فلوچارت در واقع نقشهای است که برنامهنویسان رایانه قبل از نوشتن برنامه به زبان برنامهنویسی اصلی آن را ترسیم میکنند. با مروری بر فلوچارت روند اجرای عملیات، مراحل و جزئیات برنامه و ورودی و خروجی هر مرحله از برنامه مشخص میشود. استفاده از فلوچارت جهت حل هر مسئلهای مفید است و بدون در نظر گرفتن زبان برنامهنویسی، نوشتن برنامه را سهولت میبخشد. علاوه بر این فلوچارت جزئی با ارزش از مستندات هر برنامه میباشد که با کمک آن تفسیر برنامه، عیبیابی و استفاده توسط شخصی به جز برنامهنویس را آسان میکند.
برای رسم فلوچارت آگاهی و تسلط بر مراحل مورد نیاز و ترتیب آنها جهت به دست آوردن نتیجه مورد نظر با استفاده از دادههای ورودی به الگوریتمی که فلوچارت برای آن کشیده میشود، لازم است.
دانلود کتاب الگوریتم و فلوچارت
در این فصل قصد دارم برخی از معروف ترین سایت های آموزش برنامه نویسی -چه فارسی زبان و چه غیر فارسی زبان- را معرفی کنم. لازم به ذکر است که تقدم و تاخر معرفی این منابع آموزشی هرگز به معنی برتری برخی نسبت به سایر منابع نیست.
اما پیش از معرفی این منابع آموزشی، نیاز است تا این نکته را یادآور شویم که فناوری های مرتبط با برنامه نویسی دائماً در حال تغییر و توسعه هستند و شما به عنوان یک برنامه نویس هرگز نمی بایست به دانستههای خود اکتفا کرده و دست از مطالعه و تحقیق بر دارید. علاوه بر این، با توجه به این که تولید علم در دنیا به زبان انگلیسی است و اکثر منابع آموزشی معتبر نیز به زبان انگلیسی هستند، شما نیاز دارید تا یک آشنایی نسبی با این زبان بینالمللی داشته باشید تا با سهولت بیشتری بتوانید در فرآیند یادگیری برنامه نویسی قدم بردارید.
codcademy.com
کد آکادمی در سال 2011 توسط دو برادر به نام های رایان و زک با هدف ایجاد نگاهی نو به بحث آموزش راه اندازی شد. به گفته خود مدیران این سایت “تیم کد آکادمی خود را متعهد کرده است تا بهترین تجربه آموزش آنلاین را برای کاربران ایجاد نماید.” زبان های JavaScript، PHP، HTML، CSS، Python، Ruby و تعدادی API و بسیار دوره ی آموزشی دیگر در این سایت در محیطی کاملاً تعاملی آموزش داده می شوند و همین مسئله منجر به یادگیری عمقی تر دانشجویان می گردد. منظور از محیط تعاملی این است که کاربرد در حین یادگیری مطالب آموزشی در همان لحظه می تواند در این سایت کدهای فرا گرفته شده را وارد کرده و خروجی آن را مشاهده نماید.
از مزایای متودولوژی این سایت می توان این نکته را یاد آور شد که مطالب آموزشی در سایت کد آکادمی به بخش های بسیار کوچک تقسیم بندی شده اند به طوری که حجم زیادی از مطالب به یک باره در معرض دید کاربر قرار نمی گیرد. با پیروی از چنین روشی در هر بخش، کاربر یکسری مبحث کاربردی را فرا گرفته و جهت حصول اطمینان از یادگیری کامل وی، در انتهای هر بخش پروژه ای تعریف شده که کاربر می بایست آن را انجام داده تا بتواند به بخش بعد برود. از سوی دیگر در بخش های بعدی جهت یادآوری مطالب گذشته، مدرسین به مرور نکات ضروری مباحث قبل نیز می پردازند.
یکی دیگر از محاسن سایت کد آکادمی این است که در این سایت روند پیشرفت کاربر در هر دوره به صورت نمودار به وی نشان داده می شود. به عبارت دیگر پس از ثبت نام در هر دوره نقشه راهی در اختیار کاربر قرار می گیرد که از آن طریق کاربر متوجه خواهد شد که چه قدر از مسیر آموزشی خود را پیموده است. علاوه بر این کاربر در آن واحد می تواند در هر تعداد دوره که تمایل داشته باشد ثبت نام کرده و به مطالعه مواد آموزشی بپردازد.
به عنوان یک مزیت دیگر سایت کدآکادمی می توان به این نکته اشاره کرد که شما برای یادگیری نه تنها نیازی به پرداخت شهریه ندارید، بلکه نیاز به نصب هیچ گونه نرم افزاری هم روی سیستم خود نداشته و صرفاً با ثبت نام در سایت و صرفاً یک مرورگر مثل فایرفاکس یا گوگل کروم، میتوانید دوره ی آموزشی خود را شروع کنید. یک نکته ی جالب در مورد این سایت این که برخی از آموزشهای این سایت به زبان فارسی ترجمه شدهاند که این ویژگی سایت برای کسانی که دانش زبان انگلیسی آنها خیلی زیاد نیست جالب توجه است!
coursera.org
این سایت مرتبط با یک شرکت آموزشی است که با مشارکت دانشگاه ها و سازمان های معتبر دنیا اقدام به برگزاری دوره های آموزشی رایگان به صورت آنلاین می نماید. کلاس های آموزشی در Coursera توسط اساتید طراز اول دنیا به صورت ویدیویی تدریس می شوند و این در حالی است که کاربران به هر سرعتی که خود بخواهند می توانند مطالب آموزشی را فرا گرفته و در انتهای هر بخش نیز تعدادی تمرین تعاملی برای نهادینه کردن مطالب آموزشی در ذهن ایشان در نظر گرفته شده است.
سایت Coursera به آموزش دوره های متنوعی می پردازد که یکی از آن ها آموزش های مرتبط با “علم کامپیوتر” است. از جمله دوره های مرتبط با برنامه نویسی این سایت می توان به آشنایی با زبان های برنامه نویسی، برنامه نویسی تعاملی، برنامه نویسی سیستم عامل اندروید و … اشاره کرد که از ارزش زیادی برخوردارند. آنچه سایت Coursera را به عنوان یکی از بهترین سایت های آموزش برنامه نویسی در دنیا مبدل ساخته بهره گیری از اساتید دانشگاه های معتبر، آموزش های ویدیویی با کیفیت، رایگان بودن، به کار گیری روش های آموزشی سریع و مؤثر و تمرکز بسیار زیاد روی تکرار و تمرین است.
udacity.com
از آنجا که بسیاری از دوره های سایت Udacity خیلی به هم دیگر مربوط نیستند، شاید بتوان گفت که این سایت آموزش برنامه نویسی به عنوان اولین گزینه برای خیلی از برنامه نویسان مبتدی نخواهد بود. اما این سایت یک نقطه قوت بزرگ دارد و آن هم این که بسیاری از اساتید برتر دنیا همچون برخی کارمندان شرکت گوگل را به عنوان مدرس به خدمت گرفته است.
از دیگر نقاط قوت این سایت می توان به تعداد بسیار زیاد ویدیوها نسبت به دیگر سایت های آموزش برنامه نویسی اشاره کرد. این سایت ایده ای بود که توسط دو دانشجوی دانشگاه استفورد راه اندازی شد. به گفته مدیران این سایت، ارائه دوره های با کیفیت آموزشی، تولید علم برای کلیه کسانیکه به دنبال تحصیلات عالیه هستند و یا به دنبال شغل مورد علاقه خود می باشند و همچنین ارائه آموزش کاربردی از اهداف تیم آموزشی Udacity است. از جمله دوره های آموزشی این سایت می توان به هوش مصنوعی، مقدمات برنامه نویسی، طراحی سایت و … اشاره نمود.
MOOC که مخفف واژگان Massive Open Online Courses به معنی دوره های آموزشی آنلاین آزاد به صورت گسترده است، به جوامع آنلاین اطلاق میشود که در آن واحد تعداد زیادی دانشجویان را تحت آموزش قرار میدهند که دو تا از معروف ترین آنها سایت های Courseera و Udacity است.
khanacademy.org
خان آکادمی در سال 2006 توسط سلمان خان تاسیس شد. سلمان خان از پدری بنگلادشی و مادری هندی در امریکا متولد شد. او در سه رشته ریاضیات، مهندسی برق و علوم کامپیوتر از دانشگاه MIT فارغ التحصیل شد. شعار سلمان خان در Khan Academy ارائه “آموزش های با کیفیت در سراسر دنیا برای افرادی با زبان های مختلف” است. دوره های آموزشی این آکادمی طیف گسترده ای از علوم را شامل می شود که از آن جمله می توان ریاضیات، فیزیک، شیمی، زیست، تاریخ و … اشاره نمود.
از حامیان Khan Academy می توان به بیل گیتس مدیر عامل اسبق شرکت مایکروسافت و یکی از سهامداران کنونی اصلی این شرکت و همچنین شرکت گوگل اشاره کرد به طوری که در سال 2010 شرکت گوگل با کمک 2 میلیون دلاری خود به سلمان خان خواستار توسعه بیشتر این آکادمی و همچنین ترجمه دوره های آموزشی به زبان های مختلف دنیا شد. لازم به ذکر است حامیان اصلی این آکادمی به دو مورد فوق الذکر ختم نشده بلکه با توجه به اهمیت کاری که در Khan Academy صورت می گیرد روز به روز بر لیست حامیان افزوده می شود.
تاکنون این آکادمی توانسته بیش از 260 میلیون مبحث درسی را در قالب آموزش های ویدیویی در اختیار کاربران قرار دهد. از مزایای این دوره های آموزشی می توان به امکان دانلود آموزش ها به منظور مشاهده آفلاین، برخورداری از نقشه راه به منظور مشاهده میزان پیشرفت خود، امکان تعامل با دیگر کاربران برای بحث و رفع اشکال، تمرین های تعاملی برای درک بهتر موضوعات درسی و … اشاره کرد.
tutsplus.com
به گفته مدیران این سایت، هدف از راه اندازی این سایت تبدیل شدن به یک پایگاه آنلاین برای فراگیری مهارت های پول ساز می باشد. سایت tutsplus.com در سال 2007 کار خود را با ارائه یکسری دوره های آموزشی فتوشاپ آغاز کرد و اکنون با داشتن بیش از 10 سایت زیرمجموعه، به ارائه آموزش در طیف گسترده ای از مهارت های مرتبط با تکنولوژی و طراحی می پردازد.
یکی از علل انتخاب این سایت به عنوان یکی از بهترین سایت های آموزشی برنامه نویسی این است که آموزش های رایگان این سایت توسط اساتید زبده تألیف شده و به عنوان منبع آموزشی بسیاری از طراحان و برنامه نویسان است. علاوه بر این در نسخه Premium این سایت کاربران با ثبت نام و پرداخت شهریه به موضوعات آموزشی بیشتری دسترسی پیدا خواهند کرد.
teamtreehouse.com
این سایت با برگزاری دوره های آموزشی مختلف در زمینه طراحی وب، توسعه اپلیکیشن اندروید و اپل، زبان های برنامه نویسی Ruby، Ruby on Rail، PHP و JavaScript و حتی دوره های مرتبط با تجارت و کارآفرینی و بسیاری دوره های دیگر به صورت کاملاً ویدیویی توانسته خود را به عنوان یکی از منابع معتبر در زمینه آموزش فناوری مبدل سازد.
طراحان ایسلندی این وب سایت با شعار “ارائه آموزش های مرتبط با فناوری به مردم سراسر دنیا به منظور کمک به ایشان در جهت عملی ساختن رویاهای خود و تغییر دنیا هدف ما است.” کتابخانه ای عظیم از آموزش های گوناگونی را که روز به روز بر تعداد آن ها افزوده می شود را در اختیار علاقمندان قرار داده اند. علاوه بر این، پس از مشاهده هر ویدیوی آموزشی، کاربر خواهد توانست به صورت کاملاً تعاملی به تمرین مطالب آموزشی بپردازد. لازم به ذکر است با ثبت نام در این سایت، کاربران خواهند توانست پروسه یادگیری خود را دنبال نموده و همچنین مشاهده کنند که چه دوره هایی را به چه میزان پیموده اند.
در ضمن، پس از ثبت نام در این سایت و پرداخت حق اشتراک به صورت ماهیانه و یا سالیانه برای دوره های طلایی یا نقره ای، کاربران می توانند به امکانات مختلفی همچون کارگاه های آموزشی، تمارین بیشتر، مشاهده مصاحبه با اساتید تراز اول دنیا و … نیز دست پیدا کنند. سایت treehouse برخی دوره های آموزشی خود من جمله دوره HTML، Rail و Business را به صورت رایگان در اختیار علاقمندان قرار داده است.
codeschool.com
یکی دیگر از وب سایت های آموزشی در زمینه برنامه نویسی Code School نام دارد که آموزش های آن در حوزه هایی همچون HTML/CSS، JavaScript، Ruby و ios و … دسته بندی می شوند. اگرچه بسیاری از دوره های این وب سایت رایگان است اما برخی دوره های خاص نیاز به پرداخت شهریه دارد. علاوه بر دوره های آموزشی مقدماتی Code School برای برنامه نویسان مبتدی، دوره های برنامه نویسی پیشرفته هم برای برنامه نویسان باتجربه تر هم در نظر گرفته شده است.
از مزایای آموزش های این سایت می توان به ویدیویی بودن آموزش ها، تمرین های تکمیلی پس از مشاهده دوره ها و همچنین توضیحات بسیار تکمیلی پیرامون سرفصل های آموزشی اشاره کرد. یکی از نکات جالبی که در این وب سایت آموزشی مشاهده می شود این است که پس از هر ویدیوی آموزشی تعدادی تمرین در اختیار کاربران قرار می گیرد که تا آن ها را حل نکنند نخواهند توانست ویدیوی آموزشی نهایی را مشاهده کنند. علاوه بر این پس از تکمیل هر سطح، کاربر یک تیکت دریافت می کند که اگر تعداد آن ها به حد قابل توجهی برسد، کاربر برای دوره های غیر رایگان تخفیف دریافت خواهد کرد.
codehs.com
این سایت از جمله سایت هایی است که علاوه بر دوره های برنامه نویسی و طراحی سایت، تمرکز خود را روی طراحی بازی های کامپیوتری، انیمیشن های کامپیوتری، حل مسائل کامپیوتری و پازل و … قرار داده است. برخی از دوره های این سایت رایگان بوده اما کاربران برای دسترسی به دوره های پیشرفته تر می بایست با پرداخت شهریه اشتراک سایت را دریافت کنند. از مزایای آموزش های این سایت می توان به سوق دادن کاربر به فکر کردن برای حل مسائل کامپیوتری اشاره کرد. از سوی دیگر این سایت با سگی به نام Karel که فقط می تواند کارهای ابتدایی را انجام دهد اقدام به آموزش مفاهیم ابتدایی برنامه نویسی به کاربران مبتدی می پردازد.
scratch.mit.edu
اسکرچ یک زبان برنامه نویسی است که توسط دانشمندان دانشگاه MIT امریکا طراحی شده است. هدف از طراحی این زبان برنامه نویسی، آموزش اصول برنامه نویسی، حل مسائل و تفکر انتقادی به کودکان 8 تا 16 ساله است. علاوه بر کودکانی که در این گروه سنی قرار دارند، بزرگسالانی که هیچ تجربه برنامه نویسی هم نداشته باشند می توانند از این زبان برنامه نویسی برای آشنایی با اصول برنامه نویسی استفاده کنند و به صورت کاملاً بصری به ساخت انیمیشن، داستان سرایی، بازی و … بپردازند. لازم به ذکر است که در سکان آکادمی نیززبان برنامه نویسی اسکرچ محبوب تدریس می شود که به صورت کاملاً رایگان و به صورت آموزش ویدیویی در اختیار علاقمندان قرار گرفته است.
sqlzoo.net
از جمله وب سایت های آموزشی رایگان در زمینه پایگاه داده SQL وب سایت SQLZoo است. زبان SQL صرفاً به منظور ذخیره سازی اطلاعات در پایگاه داده و فراخوانی اطلاعاتی که از قبل در پایگاه داده به ثبت رسیده اند مورد استفاده قرار می گیرد. با استفاده از دوره های آموزشی این سایت از طریق یک رابط گرافیکی تعاملی، به سادگی می توانید با دستورات مختلف این زبان آشنا شوید.
از نقاط قوت آموزش های این سایت این است که آموزش ها از مراحل ابتدایی شروع شده و در این مراحل صرفاً از کاربر خواسته می شود تا به طور مثال با تغییر برخی متغیرها خروجی برنامه را تغییر داده و در مراحل بعدی تمارین دشوارتری از کاربر خواسته می شود.
codeavengers.com
سایت Code Avengers با ارائه آموزش های با کیفیت در زمینه HTML 5، CSS 3 و JavaScript و … فرصتی را فراهم می آورد تا کاربرانی که در مورد ورود به حوزه برنامه نویسی مردد هستند به برنامه نویسی بسیار علاقه مند شوند. نکته جالب در ارتباط با دوره های آموزشی این سایت این است که آموزش ها در قالبی بسیار سرگرم کننده ارائه شده اند و در پایان هر ماژول آموزشی هم بازی کوچکی ترتیب داده شده است تا خستگی کاربر کاملاً رفع شود.
با دوره های ارائه شده در این سایت کاربران می توانند به توسعه سایت، طراحی بازی و اپلیکیشن بپردازند. رویکرد آموزشی این سایت به این شکل است که کاربران را -به خصوص برنامه نویسان مبتدی- با ارائه اطلاعات بسیار گسترده و غیر ضروری خسته نمی کند بلکه با مد نظر قرار دادن روحیات برنامه نویسان مبتدی که ممکن است خیلی زود انگیزه خود را از دست بدهند، کدهای آموزشی را به بخش های کوچک تقسیم بندی نموده و با توضیحات جذاب و سرگرم کننده و به صورتی کاملاً تعاملی از کاربر خواسته می شود تا دستورات را نوشته و بلافاصله نتیجه آن را مشاهده کنند.
lynda.com
سایت لیندا یکی از زیرشاخته های شبکه ی اجتماعی لینکدین است که به عنوان یکی از مرجع های تراز اول آموزش آنلاین محسوب می شود. از جمله دوره های آموزشی این سایت می توان به کسب و کار، طراحی، برنامه نویسی و … اشاره کرد که توسط اساتید برجسته تالیف شده اند. لازم به ذکر است که به منظور استفاده از سرویس های آموزشی این سایت، نیاز به ثبت نام و پرداخت شهریه خواهید داشت.
pluralsight.com
این سایت هم جزو سایت های معروفی است که در زمینه ی ارائه ی آموزش های ویدیویی حرف هایی برای گفتن دارا است و مدیران این سایت اعتقاد دارند که “در تلاشند تا سبک یادگیری را تغییر دهند.” آموزش های سایت pluralsight طیف گسترده ای را پوشش می دهد که از آن جمله می توان به کسب و کار، توسعه ی اپلیکیشن موبایل، طراحی سایت، برنامه نویسی و … اشاره کرد.
edx.org
این سایت تمام تلاش خود را به کار می بندد تا دسترسی به آموزش های باکیفیت را برای هر فردی و در هر جایی امکان پذیر سازد. سایت edx توسط دانشگاه های هاروارد و ام آی تی در سال 2012 تاسیس شد که دوره های برگزار شده در این سایت توسط اساتید زبده ی دانشگاه های معروف دنیا تالیف شده اند. این سایت جزو سایت های غیر انتفاعی و اپن سورس است که توسط مجامع علمی و دانشگاهی اداره می شود که این امکان را در اختیار علاقمندان قرار داده تا از پلتفرم این سایت که متن باز است، به منظور توسعه ی راه کارهای آموزش آنلاین استفاده کنند.
laracasts.com
این سایت توسط Jeffrey Way اداره می شود و عمده آموزش های آن مرتبط با زبان برنامه نویسی پی اچ پی و فریم ورک لاراول است اما آموزش ها به این موارد ختم نشده و برخی مباحث دیگر همچون زبان های سی اس اس و جاوا اسکریپت هم در لیست آموزش های این سایت به چشم می خورند. بدون اغراق می توان گفت که این سایتبهترین منبع آموزش فریم ورک لاراول در دنیا است!
codecourse.com
سایت کدکورس یکی دیگر از سایت های فعال در زمینه ی آموزش اصول طراحی وب است که پیش از این phpacademy نام داشت. آموزش های این سایت ویدیویی بوده اما به منظور استفاده از سرفصل های کامل آموزشی، می بایست شهریه پرداخت کرد.
developers.google.com
این سایت که یکی از زیر شاخه های سایت گوگل است که به عنوان یکی از منابع آموزشی موثق در میان برنامه نویسان به خصوص توسعه دهندگان سیستم عامل اندروید محسوب می شود. SDK ها و API های شرکت گوگل، مستندات، نمونه کد، منابع پشتیبانی و بسیار سرویس های دیگر را از طریق این سایت می توان دریافت نمود.
codementor.io
از جمله دوره های آموزشی این سایت می توان به آموزش زبان های روبی، جاوا اسکریپت، سی شارپ، فریم ورک Ruby on Rails، توسعه ی اپلیکیشن های iOS و Android، فریم ورک AngularJS و … اشاره کرد. به گفته ی خود این سایت “خواه یک برنامه نویس مبتدی باشید که به دنبال معلم خصوصی می گردید خواه یک مهندس باتجربه که در پی کسب تجربیات بیشتر است، Codementor شما را به هدفتان خواهد رساند.”
thenewboston.com
سایت The New Boston یکی دیگر از سایت های غیر انتفاعی بسیار ارزشمند است که آموزش های متنوعی -از برنامه نویی گرفته تا ریاضیات و غیره- را به صورت ویدیویی در اختیار علاقمندان قرار می دهد.
gotoandlearn.com
سایت Go to And Learn جزو سایت هایی است که در زمینه ی ارائه ی آموزش های فلش، توسعه ی گیم، اچ تی ام ال نسخه ی 5، جاوا اسکریپت و … فعال است که آموزش هایی به صورت ویدیویی و رایگان در اختیار علاقمندان قرار می دهد.
screencastsonline.com
این سایت جزو گروهی از منابع آموزشی است که بیشتر مرتبط با برنامه نویسی سیستم عامل های شرکت اپل است. از جمله دوره های آموزشی این سایت می توان به برنامه نویسی برای ساعت اپل، برنامه نویسی آی او اس، برنامه نویسی او اس ایکس و … اشاره کرد. لازم به ذکر است که شرکت در دوره های آموزشی این سایت مستلزم ثبت نام و پرداخت شهریه است.
learnnowonline.com
آموزش های این سایت بیشتر با رویکرد اپ موبایل، خانواده ی زبان های مایکروسافتی و زبان برنامه نویسی جاوا است. البته دوره ها به این موارد ختم نشده و مباحثی همچون امنیت، طراحی رابط کاربری، تجربه ی کاربری و … هم در اختیار علاقمندان قرار دارد. دوره های این سایت آموزشی غیر رایگان هستند.
hackety.com
هکتی سایتی است که متمرکز بر آموزش زبان برنامه نویسی روبی است. روش تدریس این سایت به این شکل است که اگر فردی کاملا مبتدی باشد و هیچ گونه تجربه ی برنامه نویسی نداشته باشد، باز هم با آموزش های گام به گام این سایت خواهد توانست اصول برنامه نویسی -به خصوص اصول برنامه نویسی با زبان روبی- را فرا گیرد.
teachingtree.co
این سایت به صورت کاملا رایگان اصول طراحی سایت، برنامه نویسی، الگوریتم، هوش مصنوعی، یادگیری ماشینی، گرافیک و انیمیشن و … را در اختیار علاقمندان قرار می دهد.
code.org
سایت code توسط دو برادر ایرانی به نام های هادی و علی پرتوی در سال 2013 تحت عنوان یک موسسه ی آموزشی غیر انتفاعی تاسیس شد که هدفش ارتقاء دانش برنامه نویسی بین کودکان و سایر علاقمندان است. یکی از اهداف ارزشمند این دو برادر این است تا بدون در نظر گرفتن رنگ، نژاد و ملیت دانش آموزان، دسترسی به منابع آموزشی علوم کامپیوتری را برای ایشان میسر سازند. مدیران این سایت اعتقاد دارند که آموزش علوم کامپیوتری می بایست به عنوان بخشی از دروس مدارس -به خصوص مقاطع ابتدایی- درآید. به علاوه، این سایت حاوی لینک به سایر منابع آموزشی نیز هست که علاوه بر بچه ها، بزرگسال ها نیز میتوانند برای شروع برنامه نویسی از آنها استفاده نمایند.
علاوه بر این، سایت code.org مبتکر چیزی است تحت عنوان Hour of Code که از آن طریق، مدارس و موسسات آموزشی شرکت کننده می توانند در یک ساعت آموزش برنامه نویسی، دانش آموزان را با علوم کامپیوتری به خصوص اصول برنامه نویسی و مزیت های آن آشنا سازند.
hackdesign.org
درست است که بخش عمدهای از یک ایده ی نرم افزاری بک اند یا منطق آن نرمافزار است اما این در حالی است که طراحی نیز به عنوان بخش لایفنک یک نرمافزار است چه بسا ایده یی خوب اما با طراحی بد به راحتی شکست بخورد! سایت Hack Design یکسری درسهای مرتبط با طراحی که توسط طراحان تراز اول دنیا تألیف شدهاند -از طراحان فیسبوک گرفته تا دراپ باکس، گوگل و غیره- را از طریق ایمیل به صورت هفتگی در اختیار دانشجویان قرار میدهد که شامل مقالات برای کسب دانش و تکالیفی برای کسب تجربه اند. این مقالات شامل تایپوگرافی، طراحی محصول، رابط کاربری، نمونه سازی اولیه و بسیاری مباحث جالب دیگر هستند (باز هم یادآور میشویم که منظور از Frond-end رابط کاربری و به طور کلی ظاهر یک سایت یا اپلیکیشن است در صورتی که Back-end به منطق حاکم بر این نرمافزار یا اپلیکیشن دلالت دارد.)
w3schools
این سایت به منزله ی یکی از بهترین منابع آموزشی برای مبتدیان است که تازه شروع به یادگیری برنامه نویسی به خصوص فناوری های تحت وب کرده اند. در این سایت، آموزشهایی مقدماتی برای زبانهای اچ تی ام ال، سی اس اس، جاوا اسکریپت، پی اچ پی و برخی فریم ورک ها مثل بوت استرپ، جی کوئری و … به صورت کاملاً رایگان در اختیار علاقمندان قرار می گیرد. از جمله مزایای این سایت این است که مطالب تئوریک با استفاده از مثالهایی عملی در اختیار دانشجویان قرار میگیرد و همین مسأله منجر به این خواهد گشت که کاربران، دوره های آموزشی را به مراتب راحتتر فرا گیرند. در ضمن، این امکان برای ایشان فراهم شده است تا در مرورگر خود بتوانند کدها را تغییر داده و نتایج را در مرورگر مشاهده کنند.
developer.mozilla.org
شبکه ی توسعه دهندگان موزیلا به عنوان یکی دیگر از مراجع آموزش برنامه نویسی است که افراد مبتدی برای یادگیری زبانهایی مثل اچ تی ام ال، سی اس اس، جاوا اسکریپت و همچنین برخی API ها میتوانند از این شبکه استفاده کنند. موزیلا یک بنیاد غیر انتقاعی است که مرورگر فایرفاکس نیز یکی از محصولات این سازمان است. اگرچه که مطالب آموزشی این سایت به راحتی مطالب آموزشی سایت W3Schools نیست، اما دوره های آموزشی این شبکه را میتوان به عنوان یکی از موثق ترین دوره های آموزش فناوری های وب در دنیا تلقی کرد!
stackoverflow
سایت Stackoverflow در سال 2008 تاسیس شد که صرفاً پس از گذشت چند سال به محبوبیتی جهانی در میان توسعه دهندگان و برنامه نویسان کشورهای مختلف جهان قرار گرفت. به طور خلاصه، این سایت به عنوان بهترین مکانی است که برنامه نویسان میتوانند به سؤال و جواب در مورد برنامه نویسی و طراحی سایت بپردازند. اگر قصد ورود به دنیای برنامه نویسی را دارید، بدون شک این سایت یکی از دوستان نزدیک شما خواهد شد!
w3.org
این سایت متعلق به کنسرسیوم شبکه ی جهانی وب (www) است که یک مجمع بین المللی می باشد که مدیریت شبکه ی جهانی وب را بر عهده دارد. این سایت نیز آموزش هایی در زمینه ی فناوری های وب همچون زبان های اچ تی ام ال، سی اس اس، اکس ام ال، استانداردهای وب و … منتشر می نماید
kamalan.com
سایت کمالان که توسط مهندس حسام الدین کمالان تاسیس شده است را می توان به عنوان یکی از مراجع آموزش اپلیکیشن نویسی برای سیستم عامل محبوب اندروید در وب فارسی قلمداد کرد. دوره های آموزشی این سایت از مبتدی شروع شده و تا مباحث متوسطه و پیشرفته ی برنامه نویسی اندروید ادامه می یابند.
uncocoder.com
سایت خانه ی اندروید ایران توسط بهنام آقاجانی که یکی از اولین مدرس های توسعه ی اپلیکیشن برای سیستم عامل اندروید در ایران است مدیریت می شود. دوره های آموزشی این سایت ویدیویی بوده که علاقمندان به منظور استفاده از این دوره ها، می بایست در سایت ثبت نام کرده و شهریه پرداخت کنند.
maktabkhooneh.org
هدف مکتب خونه در دسترس قرار دادن آموزش هایی با کیفیت بالا برای همه ی فارسی زبانان است. مدیران این سایت اعتقاد دارند که هیچ کس نباید به خاطر هیچ چیز از لذت یاد گرفتن محروم شود. نباید سن و سال یا مکان و موقعیت و امکانات مالی، افراد را از یاد گرفتن و موفقیت باز دارد. تمام ویدئوهای آموزشی مکتب خونه رایگان در دسترس همه قرار دارد و همه افراد می توانند به صورت رایگان از محتوای آموزشی مکتب خونه استفاده کنند.
quicklearn.ir
اگر علاقه مند به برنامه نویسی اندروید هستید، سایت کوئیک لرن به شما یادگیری زبان برنامه نویسی Basic4Android را پیشنهاد می کند. سایت کویک لرن اولین سایتی بوده که این محیط برنامه نویسی را معرفی کرد و طی سال های گذشته، کمک به افراد بیشماری از طریق این محیط برنامه نویسی کرده تا بتوانند وارد حوزه ی برنامه نویس اندروید شده و شروع به کسب درآمد کنند. یادگیری بیسیک4اندروید نسبت به محیط های برنامه نویسی دیگر خیلی ساده تر بوده اما در عین حال سعی شده تا از قدرت برنامه نویسی شما چیزی کم نگردد. به گفته این سایت “خیلی از برنامه های منتشرشده در بازار با این زبان محبوب و توسط کاربران کویک لرن نوشته شده اند.”
esfandune.ir
سایت اسفندونه یکی از سایت های فعال در زمینه ی آموزش تکنولوژی های وب و موبایل است که از جمله آموزش های این سایت می توان به آموزش برنامه نویسی اندروید، زبان برنامه نویسی پی اچ پی، برنامه نویسی ویندوز فون، آموزش سی شارپ و … نام برد.
sokanacademy.com
اگر این آموزش را دنبال می کنید، پس با سکان آکادمی نیز آشنا هستید. سکان آکادمی فضایی برای یادگیری برنامه نویسی -از بچهها گرفته تا بزرگسالان، دانشجویان رشتههای مرتبط و غیر مرتبط با برنامه نویسی- ایجاد کرده که خدمات این سایت به صورت کاملا رایگان در اختیار علاقمندان قرار می گیرد. در این آکادمی آنلاین آموزش برنامه نویسی، علاوه بر آموزش های مرتبط با برنامه نویسی و طراحی سایت، خدمات مرتبط با برنامه نویسی نیز ارائه می گردد که از آن جمله می توان به سرویس جابز که فضایی برای کارفرمایان و فریلنسرهای حوزه ی فناوری است، تالار گفتگو، وبلاگ، دانشنامه ی زبان های برنامه نویسی (ویکی) و … اشاره کرد.
faranesh.com
فرانش -کائسنا سابق- از سال 1386 با هدف ترویج دانش متن باز، برای ایجاد فرصت یکسان یادگیری و به منظور گسترش سطح آگاهی و علم جامعه فارسی زبان آغاز به کار نمود و در این راه با همیاری و همکاری افراد علاقمند به حوزه ی آموزش به موفقیت هایی دست یافت. در این سایت کاربرانی که توانایی و دانش کاربردی در زمینه های مشخصی همچون برنامه نویسی دارند، در فرایند تولید همراهی شده و تیم تولید و تدوینی در کنار آن ها قرار گرفته تا بتوانند دانش خود را با دیگران به اشتراک بگذارند. صرف نظر از اهداف تجاری یا غیر تجاری تولیدکنندگان محتوا در فرانش، دغدغه های پلتفرم پرداخت، پلتفرم نمایش، هزینه پهنای باند، مارکتینگ، دریافت بازخورد و … برای تولید کنندگان برطرف شده تا بتوانند با تمرکز روی محتوا، ویدئوی آموزشی خود را تولید و منتشر کنند.
mobtadi.com
سایت مبتدی کار خود را در پاییز 92 با هدف آموزش زبان برنامه نویسی پی اچ پی از پایه و به صورت گام به گام آغاز نمود و با استقبال خوب کاربران سایت، آموزش زبان اچ تی ام ال را نیز به آن اضافه کرد. هدف این سایت، آموزش اصول کدنویسی تحت وب به افراد علاقمند به این حوزه است.
7learn.com
این سایت توسط لقمان آوند -دانشجوی دکترای تخصصی نرم افزار از دانشگاه شیراز- در سال 1387 راه اندازی شد و به خاطر علاقه ی شخصی وی به دنیای وب، وبلاگ نویسی و مخصوصا طراحی وب و برنامه نویسی، ایشان فعالیتش را در این سایت شروع کرد. در این سایت آموزشی، فناوری های متنوعی از زبان های اچ تی ام ال و سی اس اس گرفته تا زبان های برنامه نویسی بک اند همچون پی اچ پی، سی شارپ و غیره تدریس می شوند.
roocket.ir
راکت در بهار 1394 راه اندازی شده با این باور که کاربران ایرانی لایق بهترین ها هستند و باید بهترین و بروزترین فیلم های آموزشی و مقالات در اختیار آن ها قرار بگیرد تا بتوانند به سرعت پیشرفت کنند و جزء بهترین ها در صنعت طراحی و برنامه نویسی وب شوند.
اکنون که ما تصمیم گرفته ایم به دنیای بی انتها و لذت بخش برنامه نویسی قدم بگذاریم، لاجرم نیاز داریم تا در کنار اصول و مفاهیم برنامه نویسی به علوم و مهارتهای جانبی که به حرفه ما کمک می کنند نیز نیم نگاهی داشته باشیم. در حقیقت در کنار فراگیری اصول برنامه نویسی، ما می بایست تفکری انتقادی یا اصطلاحاً Critical Thinking و تفکر منطقی یا Logical Thinking داشته باشیم، کمی با ریاضیات آشنایی داشته باشیم، معانی رنگ ها و نحوه به کار گیری رنگ در اپلیکیشن یا نرم افزار را بدانیم و …
شاید بیان چنین مسئله ای تا حدودی ناامید کننده باشد که چه طور ممکن است فردی کلیه موارد فوق را به علاوه بسیاری موارد دیگر به طور هم زمان فرا گیرد. در این آموزش قصد نداریم تا پیرامون مطالب فوق الذکر صحبت کنیم بلکه می خواهیم به دو مهارتی اشاره کنیم که شاید برای خیلی از دوستان مهم به نظر نرسد اما در دراز مدت می تواند حرفه شما را به عنوان یک برنامه نویس تحت الشعاع قرار دهند و آن دو مهارت عبارتند از فراگیری مهارت های اصولی تایپ کردن و زبان انگلیسی.
تاثیر تایپ اصلی در راندمان برنامه نویسی
در واقع همان طور که یک ویرایشگر کد به منزله یک ابزار برنامه نویسی است، نحوه صحیح تایپ نیز میتواند همچون ابزاری کاربردی، کمک شایانی در حرفه ای شدن ما به عنوان یک برنامه نویس کند. از دید ما کسب مهارت تایپ صحیح (ده انگشتی) برای حرفه ی برنامه نویسی لازم و ضروری است. به عبارت دیگر برنامه نویسی صرفاً در نوشتن کد خلاصه نمی شود بلکه ما به عنوان یک برنامه نویس گاهی نیاز داریم تا پیرامون اپلیکیشن خود توضیحاتی بنویسیم و یا چنانچه عضو یک تیم برنامه نویسی باشیم نیاز داریم تا با مابقی برنامه نویسان در تعامل بوده و مکاتبه نماییم و یا از طریق Comment، توضیحاتی را درون کد خود بنویسیم.
در حقیقت چنانچه ما به تایپ سریع و صحیح تسلط داشته باشیم، مابین فکر کردن و نوشتن کد زمان اندکی را صرف خواهیم کرد. شاید با ذکر این دو مثال اهمیت فراگیری تایپ سریع را بهتر متوجه شویم. خیلی اوقات اتفاق می افتد که ما با هدف خاصی به یکی از اتاق های منزل خود می رویم اما به محض این که به آن اتاق مد نظر می رسیم فراموش می کنیم که به چه منظور به آن اتاق رفتهایم (البته این مسئله در مورد خیلی از کاربران صدق نخواهد کرد!) یا این که در بحثی شرکت کرده ایم و در همین حین که یکی از دوستان ما در حال صحبت کردن است نکته ای به ذهن ما می رسد و صبر می کنیم تا صحبت های دوستمان به اتمام برسد اما همین که وی سکوت کرد ما نکتهای که می خواستیم بیان کنیم را فراموش می کنیم. مابین زمانی که ما تصمیم می گیریم تا به آن اتاق برویم و زمانی که به آن اتاق می رسیم ممکن است چندین ثانیه طول بکشد و فراموشی هم می تواند در همین فاصله زمانی اتفاق افتد.
دقیقاً چنین اتفاقی هم در برنامه نویسی برای ما ممکن است پیش آید (توجه بفرمایید که گفتیمممکن است!) در واقع زمان مابین ایده ای که در برنامه نویسی به ذهن ما خطور می کند تا تبدیل ایده به کد می تواند منجر به فراموشی گردد. حال اگر بتوانیم این زمان را به حداقل برسانیم می توانیم انتظار داشته باشیم فراموشی ما هم به حداقل برسد. در واقع هدف ما در اینجا این نیست که برنامه نویسان را مجبور کنیم که به کلاس تایپ حرفه ای بروند بلکه حداقل انتظاری که می رود این است که تایپ صحیح را بیاموزند. تجربه نشان داده است زمانی که ما با استفاده از ده انگشت دست خود اقدام به تایپ کردن می نماییم، نه تنها سرعت تایپ ما افزایش می یابد بلکه کمتر هم از اینکار خسته خواهیم شد چرا که میزان باری که روی دو انگشت وارد میآید (در تایپ دو انگشتی)، از این پس در تایپ ده انگشتی مابین ده انگشت تقسیم خواهد شد و بالتبع میزان خستگی ما نیز کمتر خواهد شد.
به منظور فراگیری نحوه صحیح تایپ راه کارهای متفاوتی وجود دارد من جمله نرم افزارهایی که برای این منظور طراحی شده اند و حتی یکسری کلاس های آموزشی نیز وجود دارند. در حقیقت ما با مد نظر قرار دادن این نکته که دو انگشت اشاره ما می بایست روی دکمه های J و F قرار گیرند و همچنین این که هر کدام از انگشتان دست ما صرفاً می تواند حروف خاصی از صفحه کلید را فشار دهد، به راحتی خواهیم توانست -با کمی تمرین- تایپ ده انگشتی را فرا گیریم.
نکته ای که در فراگیری نحوه تایپ ده انگشتی می تواند خیلی به ما کمک بکند این است که در مرحله اول سعی کنیم در تمرین های خود کلماتی را بنویسیم که کلیه حروف آن در خط وسط قرار دارند مثل کلمه ask سپس کلماتی را تمرین کنیم که کلیه حروف آن در خط بالای صفحه کلید قرار دارند مثل کلمه top و در نهایت کلماتی را تمرین کنیم که تلفیقی از کلیه حروف صفحه کلید میباشند (علت این که با خط پایین صفحه کلید کاری نداریم این است که به دشواری می توان کلمه ای معنا دار با استفاده از حروف خط پایین صفحه کلید نوشت.) شاید در هفته های اول این کار کمی دشوار به نظر برسد و از این کار خسته شویم، اما با گذشت زمان نه تنها به این مهارت تسلط پیدا خواهیم کرد بلکه از تایپ کردن هم لذت خواهیم برد.
تاثیر دانش زبان انگلیسی در پیشرفت در برنامه نویسی
مهارت دومی که برای یک برنامه نویس لازم و ضروری است فراگیری زبان انگلیسی است. در واقع دلایل مختلفی وجود دارند که ما تاکید داریم برنامه نویسان مبتدی می بایست حداقل به زبان انگلیسی آشنایی داشته باشند (اگر توجه کرده باشید به هیچ وجه از اصطلاح تسلط به زبان انگلیسی استفاده نکردیم چرا که اگر نگوییم تسلط به یک زبان خارجی کاری محال است، می توانیم بگوییم که کاری بسیار دشوار می باشد.)
از جمله این دلایل می توان به این نکته اشاره کرد که یک برنامه نویس برای این که همواره به روز باشد و از آخرین پیشرفت ها در زمینه برنامه نویسی مطلع باشد می بایست با زبان انگلیسی آشنا باشد چرا که تولید علم در دنیا به این زبان صورت می گیرد. از سوی دیگر Documentation یااسناد زبان های برنامه نویسی کاملاً به زبان انگلیسی نوشته شده است و برای خواندن آن ها ما می بایست با زبان انگلیسی آشنا باشیم. یکی دیگر از مواردی که دانستن زبان انگلیسی در آن به کمک ما می آید مکاتبه با دیگر برنامه نویسان در سرتاسر دنیا است. به طور مثال وب سایت Stack Overflow این امکان را به ما می دهد که سؤالات یا مشکلات خود به همراه کدی که نوشته ایم را به اشتراک بگذاریم و از نظر دیگر برنامه نویسان پیرامون آن آگاه شویم.
نظرات گوناگونی پیرامون این مسئله وجود دارد که برای درک مطالب به زبان انگلیسی به چه تعداد واژه نیاز داریم. به طور مثال در زبان انگلیسی در حدود یک میلیون واژه وجود دارد که هر روز تعدادی به این لیست اضافه میگردد. اما سوال اینجا است که یک انگلیسی زبان به چه تعداد از این واژگان برای خواندن یک کتاب به زبان انگلیسی نیاز دارد.
طبق تحقیقات صورت گرفته، از این لیست واژگان که تعداد آن هم کم نیست در حدود 2 هزار واژه وجود دارد که در درصد قابل توجهی از متون عمومی مورد استفاده قرار میگیرند. به عبارت دیگر میتوان گفت که برنامه نویسان مبتدی میتوانند با فراگیری صرفاً 2000 واژه پرکاربرد زبان انگلیسی بخش قابل توجهی از مکالمات و مکاتبات خود (حدوداً 85 درصد) را با دیگر برنامه نویسان دنیا انجام داده و یا به سهولت بتوانند کتاب های مرجعی که به زبان انگلیسی نوشته شده اند را مطالعه نمایند. حال 15 درصد مابقی واژگان که جزو آن 2000 واژه پرکاربرد نیستند هم مربوط به تخصصی است که افراد بر مبنای آن، واژگان خاصی را مورد استفاده قرار میدهند. به طور مثال یک برنامه نویس دامنه خاصی از واژگان را مورد استفاده قرار می دهد که معانی آن واژگان ممکن است برای افراد با حرفه های متفاوت نا آشنا باشد.
پس از کسب مهارت در زمینه ی اصول تایپ ده انگشتی و همچنین آشنایی نسبی با زبان انگلیسی -حداقل خواندن و نوشتن- می بایست با موارد زیر هم آشنایی داشته باشیم تا بتوانیم با سرعت به مراتب بیشتری در زمینه ی برنامه نویسی گام برداریم:
- آشنایی نسبی با کامپیوتر: شروع برنامه نویسی با استفاده از یک کامپیوتر یا لپ تاپ است لذا دانشجویی که قصد دارد برنامه نویسی یاد بگیرد حداقل می بایست کار کردن با کامپیوترها را بلد باشد، می بایست بتواند یک برنامه یا بازی را روی سیستم خود نصب و استفاده کند و برخی مشکلات رایج در کامپیوترها را به تنهایی حل کند (مثلاً این که چه طور یک فایلی که Delete کردن است را مجدد بازیابی کند!)
- آشنایی نسبی با اینترنت: تأثیرات مثبت اینترنت در زندگی روزمره ی ما بر کسی پوشیده نیست و جالب است بدانیم که برای یک برنامه نویس، اینترنت و برخی سایتهای اینترنتی -همچون گوگل و استک اور فلو- به منزله ی بهترین دوست می باشند. فردی که قصد ورود به دنیای برنامه نویسان را دارد می بایست بتواند وارد اینترنت شده و یک چیز خاص را در اینترنت سرچ کرده و نتیجه را به دست آورد، در برخی سایت ها ثبت نام کند، استفاده از ایمیل را بلد باشد و …
برای شروع…
برای شروع کار باید تصمیم بگیرید تو چه حوزه ای میخواهید وارد شوید و برنامه نویسی کنید. میدانید که برنامه نویسی بیشتر از اون چیزی که فکرش را می کنید گسترده است و هر کس بهتره بجای اینکه تو همه حوزه ها دست ببرد ، فقط توی یک حوزه خاص و شاید بهتر باشه بگیم یک زبان برنامه نویسی خاص متخصص باشد. این رو به عنوان یک اصل پایه و مهم در نظر داشته باشید.
حوزه برنامه نویسی خودتان را مشخص کنید
برنامه نویسی دسکتاپ در واقع برنامه نویسی تمام برنامه های کاربردی که توی کامپیوتر ها میتوان نصب و اجرا شود رو شامل می شود. مانند نرم افزارهای انبار داری، حسابداری، اتوماسیون های اداری و امثال این ها… در این حوزه می شود برای سازمان ها، شرکت ها برنامه نوشت، اما چون اکثرا سازمان ها با شرکت های بزرگ برنامه نویسی قرارداد دارند شما میتوانید به عنوان یک برنامه نویس در یکی از این شرکت های برنامه نویسی کار کنید و حقوق ماهیانه دریافت کنید.
همچنین میتونید برای خودتان یک پروژه های کوچیک را بنویسید و بفروشید که این کار هم درآمد و آینده اش کاملا نامشخص است. در حال حاضر داشتن یک شغل مناسب در این حوزه کمی سخت است اما همیشه کار برای افراد خلاق و متخصص وجود دارد.
برنامه نویسی وب از طراحی وب سایت ها تا نوشتن برنامه های تحت وب را شامل می شود. برنامه نویسی در این حوزه بسایر لذت بخش است. کارهای که شما در این حوزه انجام میدهید را خیلی ها میبینند. شما می توانید به راحتی برای خودتان و یا بسیاری از شرکتها کار کنید. هرچند در حال حاضر تقریبا هر سازمان، شرکت و شخصی یک وب سایت دارد و همچنین تعداد برنامه نویسان این حوزه خیلی زیاد هست اما برنامه نویسان وب با استفاده از خلاقیت و پشتکار می توانند براحتی در هرکدام از شرکت ها یا سازمان ها مشغول به کار شوند.
برنامه نویسی موبایل شامل برنامه نویسی نرم افزارهایی می شود که در گوشی های موبایل و تبلت ها می توانید نصب و اجرا کنید. در حال حاضر برنامه نویسان موبایل آینده خیلی خوبی دارند. شما در این حوزه خیلی می توانید پیشرفت کنید و چون قطعا در طی چند ساله آینده دنیا به سمت موبایل پیش خواهد رفت، هر شرکت یا سازمان یک اپلیکیشن خاص خودش را که روی موبایل نصب می شود خواهد داشت. پس شما میتونید به عنوان یک برنامه نویس موبایل در شرکتهای برنامه نویسی یک حقوق ماهیانه نسبتا خوب داشته باشید و اگرهم بخواهید بصورت مستقل کار کنید با داشتن ایده های خوب درآمد خوبی خواهید داشت.
برای اندروید برنامه نویسی کنیم یا IOS؟
برنامه نویسانی که میخواهد در حوزه موبایل کار کند نیز بین اندروید و IOS میتوانند تردید پیدا کنند. این سوال جوابش واقعا مشخص است: خب مسلم است اندروید! بیش از ۸۰ درصد گوشی های هوشمند سیستم عامل اندروید دارند و در ایران این رقم تا ۹۰ درصد افزایش پیدا کرده. آینده اندروید نیز با حمایت گوگل درخشان است.
پس شکی نیست که کدنویسی برای اندروید بهتر است. برای نوشتن اپلیکشن های اندروید نیز زبان جاوا را بهتر است یاد بگیرید. زبان جاوا یک زبان دوست داشتنی است و چون شما احتمالا قبلا با سی یا سی پلاس پلاس کار کرده اید کار با جاوا نیز برایتان راحت خواهد بود چون بسیار شبیه بهم هستند.
بهترین زبان برنامه نویسی چیست؟
اگر از هرکسی که کمی با برنامه نویسی آشنایی دارد بپرسید که بهترین زبان برای شروع برنامه نویس چیست؟ بدون شک جوابش C یا C++ خواهد بود.C را میتوان یک زبان مادر دانست بطوری که خیلی از زبان های کنونی از این زبان متولد شده اند. برای شروع پیشنهاد ماهم سی یا سی پلاس پلاس یا جاوا است.
البته نیاز نیست همه چیز را یاد بگیرید در ابتدا بهتره مفاهیم کلی مثله متغیرها، انواع داده ها، آرایه ها، دستورات کلیدی مهم، تابع نویسی، کلاس ها، ارث بری، اشارگرها و امثال اینها رو یاد بگیرید. چون این مفاهیم در همه زبان ها وجود دارند و شما را آماده یادگیری زبان اصلی که میخواهید با آن کار کنید میکند.
برای یادگیری برنامه نویسی چکار کنیم؟
شاید از هر کسی که اکنون برنامه نویس است بپرسید با چه روشی توانسته برنامه نویس را یاد بگیرد به شما جواب های متفاوتی بدهند. بعضی ها بر روی کتاب تاکید دارند چون معتقند بسیار منسجم است مخالفان نیز یادگیری از روی کتاب را واقعا خسته کننده میدانند. عده ای هم اینترنت را بهترین استاد می دانند چون اعتقاد دارند هرچیزی درآن یافت میشود مخالفان نیز میگوید اینترنت در واقع انبوهی از اطلاعات است که میتواند شما را سردرگم کند همچنین هرکسی میتواند آنها را تولید کرده باشد و معتبر نباشد.
یک عده هم رفتن به کلاس های رو به دلیل پروژه محور بودند پیشنهاد میدهد، مخالفان این روش یادگیری را استاد محور و متکی به دانش مدرس میدانند. فیلم های آموزشی شرکت های معتبر آموزشی هم روشی که است که بعضی ها پیشنهاد میدهد که در اینجا مخالفان حرفی برای گفتند ندارند. چون تمام ویژگی های خوب روش های قبلی را باهم دارد: منسجم است، بهترین اساتید جهان مدرس آنهایند، ارزان قیمت است و پروژه محور هستند.
روشی را برای یادگیری برنامه نویسی انتخاب کنید که ساده باشد و باعث شود از یادگیری لذت ببرید. اگر از من بپرسید چه روشی را برای یادگیری برنامه نویسی پیشنهاد میدهم بدون شک اولین گزینه من دیدن فیلم های آموزشی است.