وبلاگ هاتف

هاتف اینجا می‌نویسد

چرا باید زبان ++C را بدانیم؟

 

بعد از یک غیبت طولانی از نوشتن ، دلم برای نوشتن تنگ شد و تصمیم گرفتم که یک پست وبلاگ بنویسم تا این وبلاگ برای خودش یک گوشه نیفته و خاک بخوره . دوستی اخیرا پرسیده بود که چرا باید زبان برنامه‌نویسی ++C را یاد بگیریم . این زبان مگر قدیمی نیست و منسوخ نشده است؟ پس چرا ما باید آن را یاد بگیریم و یا در دانشگاه تدریس شود. گفتم این رو یک پست وبلاگ بکنم تا هم لینک رو در اختیار اون دوستم بگذارم و هم اگر کسی این سوال براش پیش اومد که چرا ما باید سی پلاس پلاس یاد بگیریم ، من به این نوشته رفرنس بدم .

این سوال برای همه بصورت طبیعی پیش میاد . چرا وقتی زبان‌های ساده‌تر و سمت زبان انسان مثل پایتون هست، چرا ما باید برویم و درگیر زبان سی و فک و فامیل‌هایش مثل #C و ++C شویم ؟ وقتی زبان‌هایی مثل دارت و روبی و کاتلین هستن برای توسعه چرا اصلا باید رفت سمت سی پلاس پلاس. از آنجایی که در ایران هم داستان استارتاپ و ایده برنامه‌نویسی و این چیزها بازه و اکثرا هم سمت توسعه وب هستن (و بیشتر فرانت اند) با خود می‌گویند که چرا به جای سی‌پلاس پلاس با ساینتکس‌های وحشتناک و دستورات سخت ، نرویم و چیزی مثل React و یا NodeJS یاد نگیریم . از طرفی سر همین بحث استارتاپ‌ها و دیجی‌کالا و اسنپ فود و این چیز‌ها ، اکثر شرکت‌ها بیشتر برای فرانت و بک برنامه‌نویس می‌خواهند که خب این چیزهایی که نام بردم از پرطرفدارها هستن و برای بک‌اند هم معمولا از PHP و یا Python استفاده می‌شود . حال من برای شروع چرا باید با یک زبان سختی مثل سی‌پلاس پلاس خودم را سرگرم کنم؟ خب پاسخ شما عملا در این پست است.

خب اول باید بدانیم که زبان برنامه‌نویسی ++C چه هست؟

سی پلاس پلاس یک زبان برنامه نویسی همه منظوره شی‌گرا ست که می‌توان بوسیله آن بصورت ساخت‌یافته برنامه‌نویسی کرد. همانطور که گفتم زبان سی پلاس پلاس یک زبان سخت است چون یک زبان سطح میانی است ( برخلاف پایتون که یک زبان سطح بالا (نزدیک به زبان انسان) و مفسری است) و همین مساله باعث شده که فقط گیک‌ها و نرد‌های کامپیوتری به سمت آن بیایند و آن را یاد بگیرند و همچنین دانشجوهای رشته مهندسی کامپیوتر نیز این زبان را بعنوان یک زبان برنامه سازی در دانشگاه آموزش می‌بیننند.  ++C یکی از پرطرفدارترین زبان‌های برنامه‌نویسی (درست مانند پدربزرگش C ) است.  همچنین این زبان از این قابلیت برخوردار است که هم یک زبان سطح بالا باشد و هم یک زبان سطح پایین . بل لبز (Bell Labs) که معرف حضور همه‌تون هست که جناب آقای بل ( الکساندر گراهام بل مخترع تلفن) اون رو پایه گذاری کرد ( وبسایتشون اکنون ) بل لبز در کنار تولید سیستم عامل ، به توسعه زبان‌های برنامه‌نویسی نیز پرداخت و زبان افسانه‌ای C که برای سیستم‌های عامل استفاده می‌شود نیز از دستاورد‌های این آزمایشگاه می‌باشد . زبان سی از روی زبان B ساخته شد . بعد از مدتی بل لبز تلاش کرد که C را بهبود دهد و سپس نام ابتدایی آن را C classes که بعدها به نام ++C تغییر یافت . و درنهایت در سال ۱۹۹۸ استاندارد شد.

نمونه کد ++C

 

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}

 

خب حال متوجه شدیم که ++C چه زبان برنامه‌نویسی است و از کجا آمده. چرا حالا باید آن را در سال ۲۰۲۱ یاد بگیریم (همون ۱۴۰۱ خودمون).

شاید فکر می‌کردید که زبان سی‌پلاس پلاس یک زبان فراموش شده و منسوخ شده است اما از این زبان امروزه براحتی در بسیاری از جاها استفاده می‌شود . هرجا که نام از عملکرد بالا ( های پرفورمنس یا High Performance ) شنیده می‌شود نام سی پلاس پلاس هم مطرح می‌شود. یعنی این زبان هنوز هم جزو زبان‌های مورد استفاده برای راه‌حل‌هایی هست که به عملکرد سریع ماشین نیاز دارند. در ساخت بازی‌های ویدیویی از این زبان استفاده می‌شود‌ ( چون عملکرد بالایی دارد و بازی نیز نیازمند این است ) . این زبان در IoT (بخوانید اینترنت اشیا) و همچنین سیستم‌های توکار، برنامه‌های‌کاربردی با منابع سنگین برای VR (بخوانید واقعیت مجازی) و AR (بخوانید واقعیت افزوده) نیز از C و ++C استفاده می‌شود . پس این ایده که این زبان به زودی منسوخ می‌شود و اصلا چرا وقت بگذاریم و آن را یاد بگیریم عملا منتفی است . حداقل تا ۱۵ سال دیگر منتفی است ( مگر زبانی بیاید که واقعا پرفورمنسی بهتر از سی پلاس پلاس بدهد و سطح بالا هم باشد و کلا بهتر از سی پلاس پلاس باشد که باز اگر بیاید تا این تغییرات حاصل شود و این زبان منسوخ شود باز پنج تا ده سالی زمان خواهد برد)

همچنین برنامه‌ها و نرم‌افزارهای زیادی نیز در صنعت تکنولوژی و آی‌تی مورد استفاده قرار می‌گیرند که با زبان ++C نوشته شده است .بطوریکه اگر نوشتم در نوشتن بازی‌ها بسیار پرکاربرد است، نباید تعجب کنید . از این برنامه‌ها باز می‌توان به مرورگرها ، موتور برخی از سیستم‌عامل‌ها ، هسته برخی از زبان‌های برنامه‌نویسی ( مثل نام‌پای (Numpy) پایتون که در سی پیاده سازی می‌شوند) ، برخی از سخت‌افزارها و درایورها ( مثل خودروها، گوشی‌های موبایل و کامپیوترها) ، برخی از مفسرها و کامپایلرها ، برخی از نرم‌افزارهای یادگیری ماشین و دیتاماینینگ، سیستم‌های معاملاتی کم تاخیر،‌ نرم‌ افزارهای ویرایش ویدیو و تصویر، در تحقیقات علمی، مدلسازی ریاضی و مدلسازی مالی و سایر برنامه‌های منابع نیازمند و سی‌پی یو ! و حالا چرا انقدر برنامه هستن که با سی و سی پلاس پلاس ( که در این پست تمرکز ما روی سی پلاس پلاس است که خیلی ها براین تفکر هستن که C و ++C از رده خارج شده و آنتیک شدن ) نوشته شدن ؟ چون سی پلاس پلاس واقعا همانطور که گفتم سریعه! (همون داستان های پرفورمنس) .در مقایسه با سایر زبان‌ها چون این زبان به سخت افزار نزدیکه ، بهش این اجازه رو می‌ده که سخت‌افزارها رو (مثل CPU و GPU ) را کارآمدتر تنظیم کند. برای همین سریع است . و اما چرا باید یادش بگیریم؟

 

۱. در مورد کامپیوترها و کامپایلرها یاد میگیرید

سی پلاس پلاس نزدیک و نزدیک به سخت‌افزار است . یعنی چند پله کوچیک تا اسمبلی فاصله دارد. در حالی که زبان‌های سطح‌بالایی چون جاوا‌اسکریپت یک زبان بازاری و حوزه کسب و کار شناخته می‌شود ، سی پلاس پلاس نزدیک به کامپیوتر است و به شما درک بسیار بیشتری از اجزای سازنده برنامه‌نویسی می‌دهد ( وقتی مفید است که شما شروع به کار کنید) . در تصویر زیر این زبان‌ها را مشاهده می‌کنید که کدام High level (همان سطح بالای ما) و یا Low Level (بخوانید سطح پایین) هستند.

سی پلاس پلاس به شما این امکان رو می‌دهد که برنامه‌نویسی را از پایه یاد بگیرید . شما باید هرکاری که انجام میدهید رو توضیح بدید و باید بتوانید کد را دستکاری کنید ، که به شما درک عمیق‌تری از نحوه‌کار همه قسمت‌ها می‌دهد . تسلط بر زبان CPP شما رو با موارد زیر آشنا می‌کند :

مدیریت کارآمد حافظه و اشاره‌گرها : اینکه چرا مهم هستند و هرکدام چه کاری را انجام می‌دهند.

برنامه‌نویسی متا (Meta Programming) : چگونه یک برنامه می‌تواند اطلاعات مربوط به خود را بررسی کند

زمان کامپایل و زمان بارگذاری : و تفاوت بین آنها

بهینه‌سازی : به معنای واقعی آن و نحوه بهینه سازی (Optimize) هنگام برنامه‌نویسی و نوشتن کد

کتاب‌خانه‌های پویا : و اینکه چطور کار می‌کنند و باید چطور از آنها استفاده کرد

و برنامه‌نویسی‌های عمومی : و برنامه‌هایی که در زمان کامپایل بررسی و ارزیابی می‌شوند

 

۲. زبان‌های برنامه‌نویسی دیگر را سریعتر یاد میگیرید!

اکثر زبان‌های برنامه‌نویسی اصلی دیگر دارای شیوه مبتنی بر CPP هستند .اگر درک خوبی از یک زبان برنامه‌نویسی همه منظوره مثل ++C داشته باشید ، می‌توانید زبان‌های پرمخاطب دیگری مانند جاوا، PHP ، سی شارپ ، پرل ، پایتون و راست ( که خود همگی تاثیر گرفته از سی پلاس پلاس هستند)  را انتخاب کنید و یاد بگیرید . پایه شما در سی پلاس پلاس به نحوی جواب می‌دهد . زیرا سی پلاس پلاس به درک ساختار منطقی همه زبان‌های برنامه‌نویسی کمک می‌کند

در واقع اگر شما این مسیر رو برعکس طی کنید ، برایتان بسیار سخت خواهد بود . یعنی بطور مثال اگر شما ابتدا پایتون را بلد باشید و سپس به سی پلاس پلاس مراجعه کنید تا یاد بگیرید ، این مسیر سختی خواهد بود . اما در مسیر درست اگر ابتدا سی پلاس پلاس را یاد بگیرید ، یادگیری پایتون برای شما بسیار راحت تر خواهد بود.  زبانی مثل پایتون برای تفکر انسان بهینه شده و شما با یادگیری اون مانند انسان فکر می‌کنید و نحوه تفکر رایانه را نمی‌آموزید و کاری نیز با آن نخواهید داشت. پس اگر بعد از پایتون به سی پلاس پلاس مراجعه کنین ، عملا داستان فرق می‌کنه و شما انگار که باید از نو و پایه یه زبان برنامه‌نویسی را یاد بگیرید .  اما در سی پلاس پلاس هم با تفکر انسانی و هم رایانه‌ای مواجه هستید و هردو را نیز یاد می‌گیرید . پس اگر بعد آن بخواهید حتی جاوا را نیز یاد بگیرید ، برایتان ساده‌تر خواهد بود . از طرفی سی پلاس پلاس شما را با یک الگوی برنامه نویسی خاص (مانند شی گرا) گره نمی‌زند!  بنابراین شما می‌توانید به سادگی تکنیک‌های مختلف را یاد بگیرید و با این زبان آزمایش کنید.

 

۳. مهارت های قابل استخدام را توسعه دهید

با وجود توسعه دهندگانی بیشمار که برای استخدام درخواست کار می‌دهند ، شرکت‌ها به دنبال نامزد‌هایی با مهارت‌های توسعه یافته مانند حل مساله ، خلاقیت و عزم هستند . سی پلاس پلاس به شما می‌آموزد که چطور یک حل کننده واقعی مسایل خام باشید . یکی از درگیری‌هایی که با زبان سی پلاس پلاس ، توسغه‌دهندگان نوپا دارند این است که این زبان هیچ انتزاعی در آن نیست .شما باید تقریبا هر ویژگی را تعریف کنید تا کد کار کند . بر خلاف زبان‌هایی مثل پایتون ، این شکل می‌تواند کد را طولانی‌تر و پیچیده تر برای نوشتن و یا بررسی کند . اما بیایید کمی دقیق شیم. شما وقت آشغال جمع کردن ندارید . شما در این زبان باید با صراحت شی ها را برای حذف علامت‌گذاری کنید . مدیریت حافظه در سی پلاس پلاس کاملا به صورت دستی انجام می‌شود . شما کنترل کامل دارید . پس وقتی چیزی خراب می‌شود ، این کامل به عهده شما و تحت مسئولیت شماست . و اینجاست که مهارت یک برنامه‌نویس واقعی دیده میشود .  بطور مثال اگر کد کند اجرا می‌شود ، شما باید بفهمید که حافظه کجا دارد هدر می‌رود. و چگونه باید آن را به صورت پویا تشخیص دهید . یا مثلا باگ دارید؟ باید آستین بالا بزنین و کدتون رو بررسی کنید . کار سخت و ناراحت کننده و تومخی است . اما درنهایت منجر به ایجاد شخصیت و اعتبار در توسعه‌دهنده بودن می‌شود. شما یاد خواهید گرفت که یک سبک کد واضح‌تر و سازگارتر اتخاذ کنید. هنگام نوشتن کد روی آن نظر بدهید . و همه جنبه‌های مهم برنامه‌نویسی شی گرا را یاد خواهید گرفت.

و حالا دلیل‌های کمی گیکی و شیطونی بازی :

۳. دیگر دلایل

 این زبان به دلیل سرعت خود، غالبا در برترین چالش‌های برنامه‌نویسی رقابتی جهان قرار دارد . بطور مثال در Code Jam و kick start در رقابت فینال ۲۰۲۰ این زبان دیده شده و از آن در رقابت‌ها ( که منجر به قهرمانی هم شده) وجود داشته است . در ایران دقیق اطلاعات ندارم که بازار کار دارد یا نه چون مسلما شرکت‌های ایرانی دنیای تکنولوژی اکثرا بر بستر وب و موبایل فعالیت می‌کنند و خب زبان‌های جاوا و کاتلین و دارت و غیره برای اندروید و ساخت اپلیکیشن اندرویدی بلحاظ شغلی شانس بیشتری دارند و یا وب اپلیکیشن که باز زبان‌های PHP و سری‌های جاوا اسکریپت و ری اکت و نود و ... نیز در بازار کار ایران قوی‌ترند چون بازار کسب و کار آی تی ایران روی وب و موبایل می‌چرخد و مثلا زبان PHP و لاراول بیشترین درخواست را توسط شرکت‌ها دارند. اما در همین ایران هم شرکت‌های بازی‌ سازی هستند که نیازمند یک برنامه‌نویس خوب هستند که با CPP آشنایی کامل در حد سنیور داشته باشد . از طرفی شرکت‌های خارجی نیز بسیار استقبال می‌کنند و مثلا شرکتی مانند گوگل همیشه به یک توسغه دهنده سی پلاس پلاس نیاز دارد و آن را آگهی می‌کند . یا حتی شرکت‌هایی مثل آمازون و مایکروسافت و.. نیز به متخصصانی که این زبان را مسلط هستند نیاز دارد . ++C یک زبان سطح میانی و سطح پایین است که درک آن توسط انسان در مقایسه با زبان‌های دیگر مانند پایتون  سخت تر است . کلا زبان سختی نیز برای یادگیری است . اما در عوض مزایای ذکر شده در بالا را دارد . پس اگر می‌خواهید بصورت جدی وارد فناوری و کامپیوتر و تکنولوژی شن و یا می‌خواین بصورت جدی وارد مسابقات برنامه‌نویسی بشین، این زبان یکی از گزینه‌های مهم پیش رو است . از طرفی چون برای یادگیری توسط انسان بسیار سخت است ، پس افراد کمی برای یادگیری این زبان وقت می‌گذارند و مثل پایتون نیست که افراد زیادی به آن مسلط باشند ، پس شما بازار کار غیر رقابتی تر و خلوت‌تری را نسبت به یک توسعه دهنده پایتون تجربه می‌کنید. (شوخی)

 

امیدوارم این مطلب مورد استفاده شما قرار بگیرد و زبان برنامه‌نویسی سی پلاس پلاس را همین امروز شروع کنید و یاد بگیرید . اگر دوست داشتید این وبلاگ و صفحه اینستاگرام من رو به دوستانتون معرفی کنید . و همچنین نظراتتون هم باعث قوت قلب میشه .

مقایسه سرعت اینترنت کشورها

سایت Speedtest.net که یک سایت بزرگ جهانی برای سنجش سرعت اینترنت است در لیستی میزان سرعت اینترنت کشورها را منشر کرد. من تعدادی از کشورهای این لیست رو به صورت اسلاید در صفحه اینستاگرامم منتشر کردم . همچنین در این لیست من یک ستون اضافه کردم که مقدار زمان مورد نیاز برای دانلود فایل یک گیگابایتی را نمایش می‌دهد. یعنی اگر یک فایل یک گیگابایتی داشته باشیم بعد از چند ثانیه دانلود می‌شود. شما می‌توانید به صورت Embed هم این پست اینستاگرام را در این پست ببینید. کافیست به ادامه مطلب مراجعه نمایید

چرا باید برنامه‌نویسی یاد بگیریم؟

 

این روزها که حسابی کامپیوتر و فناوری اطلاعات پیشرفت کرده و وارد زندگی ما شده بحث برنامه‌نویسی هم مطرح میشه. قدیم ( یعنی مثلا ۱۲ یا ۱۳ سال پیش) کسی دنبال برنامه‌نویسی نبود و عملا برنامه‌نویسی رو کار بیهوده‌ای می‌دونستند (مگر مرتبط  با رشته کامپیوتر بودن و یا در دانشگاه به برنامه‌نویسی نیاز پیدا می‌کردند) . اما امروز می‌بینیم که عام مردم هم از برنامه‌نویسی حرف می‌زنند . حتی آدم‌هایی که هیچ ارتباطی به کامپیوتر هم ندارند و همچنین اصلا در رشته‌ای که تحصل کردند نیازی به برنامه‌نویسی ندارد نیز قصد دارند برنامه‌نویسی بلند باشند و یا حداقل از آن صحبت می‌کنند . توی این مطلب قصد دارم به عنوان یک شخصی که شاید از اواخر دوران راهنمایی به برنامه‌نویسی علاقه‌مند شد و نهایتا شروع به یادگیری کرد تا امروز یک چیزهایی از برنامه‌نویسی بلد باشد ، بصورت کاملا منطقی بنویسم که چرا باید برنامه‌ نویسی بلد باشیم . اما قبل از آن باید یک اشاره گذری به نباید‌ها کنیم و سپس به ادامه باید‌ها بپردازم.

شما نبایستی برنامه‌نویسی یاد بگیرید اگر

شخص بسیار پولداری هستید و می‌توانید برنامه‌نویس استخدام کنید

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

 

گمان می‌کنید با آن میلیاردر می‌شوید

برنامه‌نویسی شما را میلیاردر نمی‌کند. اگر فیلم The Social Network را دیده‌اید و گمان می‌کنید اگر برنامه‌نویس شوید میتونید یک فیسبوک بسازید ، این یک گمان اشتباهه . و یا تبلیغاتی که توی اینستاگرام توسط برنامه‌نویسان دیگر که اگر دوره ما را به ارزش ده میلیون بخرید در اولین پروژه پول این آموزش را درخواهید آورد هم دروغی بیش نیست . برنامه‌نویس مانند پزشک،وکیل،مکانیک،تعمیرکار ماشین ، مشاور و... یک شغل است . برنامه‌نویس نه آدم فضایی است و نه آدم خاصیست . اگر یک برنامه‌نویس فکر می‌کنه که خیلی خاصه و جامعه‌گریزه این برمیگرده به خصلتش و نه به برنامه‌نویسی! خیلی از برنامه‌نویسان هم هستند که جامعه‌گریز نیستند و مثل هر انسان نرمالی مشغول کار هستند. این هم جزو کارهای خدماتی است . شما پروژه‌ای را دریافت می‌کنید. آن را می‌سازید و پس از پایان یک دستمزد قابل‌قبول دریافت می‌کنید. ( به ازای هر پروژه بین ششصد هزار تومان تا ۱۲ میلیون تومان) . شاید خوشحال بشید که هر پروژه ۱۲ میلیون تومان است. اما سوال بزرگی پروژه است. شاید انجام یک پروژه سه ماه زمان ببره . پس عملا شما در ماه ۴ میلیون تومان درآمد داشتید! نه در یک هفته ۱۲ میلیون تومان. و تازه بستگی به مدت کار شما دارد. مسلما یک برنامه‌نویس تازه‌کار توانایی انجام پروژه‌های بزرگتر را ندارد و مسالما اگر صاحب آن دوره آموزشی می‌گوید که با خرید این دوره در اولین پروژه پول این دوره را درمیاوری عملا یک دروغ است. شما شاید بعد از ۷ سال تلاش مکرر و خسته نشدن موفق بشید در پروژه‌ای مبلغ دوره‌ خود را در بیاورید. برنامه‌نویسی یعنی همیشه یادگرفتن. شما لزوما با یک دوره کارتون تموم نمیشه!‌ و باید سالها یاد بگیرید و تمرین کنید و تلاش کنید و کد بزنید. پس کدنویسی باعث میلیونر شدن شما نمی‌شود و دستمزد آن هم رویایی نیست . برنامه‌نویسی فقط تایپ کردن نیست. نیاز به ساعت‌ها فکر ، ساعت‌ها شب بیداری و رساندن به ددلاین است . باید برایش زحمت کشید. یک کار ساده نیست که تصور می‌شود پشت کامپیوتر می‌نشینی و تایپ می‌کنی و بعد سه روز تمام می‌شود و ۱۲ میلیون به حسابت واریز می‌شود . ممکن است ناگهان متوجه شوی که در توان تو نیست نوشتن همچین چیزی و کلی هم وقت صرف کرده‌ای . پس باید از پروژه انصراف دهی. پس بدانیم که برنامه‌نویس میلیاردر نمی‌شود و اگر گمان می‌کنید با برنامه‌نویسی می‌توانید درآمد عالی داشته باشید ، نمی‌تواند صددرصد درست باشد و با این دلیل نبایستی برنامه‌نویس شوید

 

فکر می‌کنید ایده خوبی دارید که نیاز به یادگیری برنامه‌نویسی است

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

 

توانایی حل مساله ندارید و سخت کار نمی‌کنید

گاهی می‌شنوم که برخی می‌گویند که از کارمندی خسته شدند و قصد دارند برنامه‌نویسی یاد بگیرند و کلی پروژه بزنند و ماهی ۱۰۰ میلیون تومان پول دربیاورند ! اما سوال اینجاست. وقتی که شما نمی‌توانی ۸ ساعت کار اداره که لزوما تایپ و یک سری امور اداری است رو تحمل کنید چطور می‌خواهید ساعت ها بر روی پروژه برنامه‌نویسی تحمل کنید و شروع به توسعه کنید؟ ساعت‌ها پشت کامپیوتر بشینید و کار کنید؟؟ کمی خودتان را بشناسید . برنامه نویسی با تایپ تفاوت دارد. گاهی ممکن است که برنامه‌نویس ساعت‌ها فکر کند برای اینکه ده دقیقه کد بزند و یک چیزی را پیاده سازی کند . گاهی مشکلات مختلف رخ می‌دهد و شما باید بتوانید مسایل را حل کنید و باگها را فیکس کنید . برنامه‌نویسی ممارست می‌خواهد . توانایی حل مساله و تسلیم نشدن می‌خواهد. انقدر باید روی کد کار کنید و مطالعه کنید تا بتوانید چیزی را پیاده سازی کنید. گاهی برای پیاده سازی چیزی باید ۱۲ ساعت ویدیو یوتیوب آموزشی ببینید و دو جلد کتاب مطالعه کنید تا بحد کافی آماده شوید و سپس با توانایی حل مساله بتوانید پروژه‌تان را به اتمام برسانید . پس این یک دلیل می‌تواند باشد که نبایستی برنامه‌نویسی یاد بگیرید.

 

حوصله‌تان زیاد نیست

برنامه‌نویسی حوصله می‌خواهد. بازار کار سختی دارد . پروژه‌ها روی زمین نریختند. وعده‌های دروغین صفحه‌های اینستاگرام را نخورید. اگر آن برنامه‌نویس واقعا داشت از هر پروژه صد میلیون در می‌آورد دیگر نیاز نداشت که به شما دوره بفروشد. نیاز داشت ؟ و از طرفی چرا بازار خودش را خراب می‌کرد؟ با زیاد شدن دست پروژه‌ها میان آدم‌های بیشتری تقسیم می‌شوند . ممکن است ماه‌ها پروژه نداشته باشید و ممکن است سه چهار ماه وقت سر تکان دادن هم نداشته باشید. چه برسد به خاراندنش! صاحب دوره اگر واقعا انقدر خوب بود نیازی به فروش دوره نداشت . این یعنی که آن برنامه‌نویسی نمی‌تواند کار کند. برایش بازار کار نیست . قطعا از دوره فروختن و شعاردادن و جوگیرکردن مشتری درآمد بیشتری حاصل می‌شود . اسم‌های زیادی در اینستاگرام هستند که ادعای برنامه‌نویسی دارند و دوره‌های بسیار گرانی می‌فروشند ، اما برنامه نویس خوبی نیستند و حتی وارد شرکتی شده و قصد کار داشتند ولی نتوانستند کار کنند. بعضی ها تدریس را بهتر از کد زدن بلدند . برای همین نمی‌توان این را در ذهن داشت که اگر برنامه‌نویسی یاد بگیریم پس ماهی ۵۰ میلیون درآمد را داریم . این خبرها نیست. برنامه‌نویسی حوصله زیادی می‌خواهد. گاهی ممکن است برای فیکس کردن یک باگ دو هفته درگیر کار باشید . گاهی ممکن است سه روزتان تلف شود و برنامه تان ارور بدهد و بعد سه روز متوجه شوید که در خط ۲۵۴ یه نقطه ویرگول نگذاشتید و یا مثلا در خط ۷۳۲ یه اسپیس اضافی زدید! یا بعد از گذشت پنج هفته موفق شوید که یک باگ منطقی را حل کنید . گاهی هم می‌توانید باگها را در یک ساعت حل کنید! از طرفی ساعت‌ها پشت کامپیوتر نشستند باعث مشکلات چشمی و.. می‌شود .  پس اگر حوصله زیادی ندارید و علاقه و فقط داستان درآمد در ذهنتان است ، برنامه نویسی بدترین انتخاب است. چون شغل‌هایی هستند که این کار را خیلی بهتر از برنامه‌نویسی انجام می‌دهند. مثلا همین دوره فروختن !

 

پس از اینکه به دلایل نادرست برای یادگیری برنامه‌نویسی پرداختیم وقتش رسیده است که بگویم چرا باید برنامه نویسی یاد بگیریم

جالب است

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

 

کارها را راحت می‌کند

برنامه‌نویسی کارها را راحت‌تر می‌کند . در همه رشته‌ها کارساز است . شما می‌توانید برای داروخانه خود یک برنامه بنویسید که محتویات داروها را در خود ذخیره کند. یا یک برنامه بنویسید که کتاب‌های مختلف را بررسی و نتایجی که شما قصد دارید را به شما خروجی بدهد. نوشتن این برنامه‌ها کار برنامه‌نویس است . برنامه‌نویسی برای راحت‌تر شدن کارها ساخته شده است . آن هم با دقت بالا . در هر رشته‌ای نیز قابل استفاده است . برای اینکه بتوانید مشکلات نرم‌افزای کامپیوترتان را (مخصوصا لینوکس) حل کنید هم نیاز به برنامه‌نویسی دارید تا برنامه‌ها را آنطور که دوست دارید تغییر دهید.

 

آدم بهتری در جامعه می شوید

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

 

تکنولوژی

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

 

امیدوارم این نوشته برای شما مفید بوده باشد

 
 

 

 

چرا گوگل یک پیامرسان ندارد؟

 

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

 

در زمان مناسب نبود

گوگل همیشه از زمان عقب است . یک دیالوگ در مختارنامه بود که می‌گفت سلیمان همواره دو سه منزل از لشکر اصلی عقب تر است . یعنی نامبرده در زمان خودش نیست . این را می‌توان از شبکه اجتماعی گوگل پلاس متوجه شد . هنگامی که فیسبوک آمد و به قدرت بسیار زیادی رسید ، گوگل خودش شبکه اجتماعی اورکات را از زمان بسیار قدیم داشت! اما تصمیم گرفت که در مقابل فیسبوک قامت راست کند و رسما خودش را رقیب فیسبوک هم نامید! اما وقتی که توییتر بود ، فیسبوک بود ، مای‌اسپیس بود ، تامبلر بود و یوتیوب هم بود و کلی شبکه‌های اجتماعی دیگر هم بود ( مانند شبکه‌های اجتماعی داخلی کشورهای دیکتاتوری مثل چین و روسیه ) . پس اصلا داستان راه‌اندازی گوگل‌پلاس چه بود وقتی فیسبوک هنوز قدرت خودش را در سطح بالایی داشت؟ درست زمانی که اینستاگرام حسابی پا گرفت و آرام آرام همه داشتند از فیسبوک به سمت اینستاگرام می‌آمدند تازه گوگل یادش افتاده بود که باید یک شبکه اجتماعی بسازد! یعنی حتی اقبال به خود فیسبوک وقتی انقدر کم شد ، گوگل پلاس تازه به منزل ابتدایی فیسبوک رسید! پس مدیران گوگل کلا چند منزل عقب هستند! درست وقتی که تلگرام بود ، واتساپ بود ، لاین بود ، سیگنال بود ، کاکائوتاک بود ، بیتاک بود ، وی‌چت بود ، تانگو بود ، آقای گوگل تصمیم گرفت پیامرسان الو و دو را عرضه کند! همینقدر خنده دار! در حالی که خودش هنگ‌اوتس را داشت! آن هم نه یک اپلیکیشن پیامرسان بلکه دو اپلیکیشن که یکی برای چت و ویدیو و یکی برای مکالمه و چت بود.

 

نمی‌دانست چه می‌کند

شاید باورتان نشود ولی گوگل هیچ وقت نمی‌داند که چکار می‌کند! در حالی که اورکات را دارد ناگهان اورکات را می‌بندد! سپس گودر را که کلی کاربر از آن استفاده کرده‌اند می‌بندد . ناگهان وقتی فیسبوک به عرصه آمد گوگل پلاس عرضه می‌کند! درحالی که هنگ‌اوتس را دارد و به شدت اپ آشغالی است و کند ، نرم‌افزار پیام‌رسان الو را عرضه کرد که آن هم آشغال بود! سپس نرم افزار دو را عرضه کرد! گوگل کلی پروژه استارت زده و خاموش کرده که نشان دهنده این است که مدیران رده‌بالای گوگل دقیقا نمی‌دانند چه کار کنند و دایم با این اپلیکیشن‌های شکست خورده پول دور می‌ریزند . البته گوگل موتور جستجو و سرویس ایمیل بسیار موفقی دارد و تمامی توان و تمرکزش را بر روی آن قرار داده است . از طرفی اندروید و دیگر سرویس‌های سودده! وقتی که شما چند مغازه سود‌ده دارید خیلی بر روی مغازه‌های تازه تاسیس تان انرژی نمی‌گذارید و به سادگی آنها را افتتاح و پس از مدتی آن را می‌بندید!

 

وقتی بنز هست ، پیکان را عرضه کرد

وقتی که شبکه‌های اجتماعی بزرگ و قدرت‌مندی مانند فیسبوک دربازار بودند ، گوگل به تازگی گوگل‌پلاس را معرفی کرد که حتی نیمی از امکانات فیسبوک را نداشت! بسیار از فیسبوک عقب‌تر بود . یا بطور مثال وقتی که تلگرام قدرتمند در بازار بود (سال ۲۰۱۳) ، اپلیکیشن الو را به بازار عرضه کرد (سال ۲۰۱۶)! تلگرام سریع و امن بود در حالی که امنیت گوگل الو به شدت پایین بود! این اپلیکیشن به صورت پیشفرض پیام‌ها را رمزنگاری نمی‌کرد. یعنی رمزنگاری پیام‌ها به صورت پیشفرض خاموش بود! از طرفی تمامی مکالمات گوگل تاک (که همان هنگ اوتز شده است) را به این پیامرسان انتقال داده بود که انتقاد‌های زیادی را برانگیخت. وقتی که اپلیکیشن‌های پیامرسان بودند ، تازه وقتی که باز گوگل تصمیم گرفته بود گوگل‌تاک را ببندد و به هنگ‌اوتس انتقال دهد دوباره یک پیامرسان جدید تقریبا با همان امکانات ساده (شاید چند امکان بیشتر) شبیه به اپلیکیشن‌های قدیمی اش عرضه کرد. این نتوانست کاربران را مجاب کند که از تلگرام به الو کوچ کنند ، چون الو هیچ چیز تازه‌ای نداشت‌!

 

کارش کپی کردن بود

گوگل موتور جستجوی بسیار قوی دارد. سرویس پست الکترونیک بسیار قدرتمند دارد و چندین و چند ابزار و سرویس سودده دارد . اما همین سود ده بودن باعث شد که گوگل خیالش از درآمد راحت باشد و دایما مشغول تست و مسخره کردن کاربرها باشد . گوگل با وجود داشتن گوگل‌تاک و هنگ‌اوتس ، از روی تلگرام و واستاپ ، گوگل الو را کپی کرد . با وجود فیس‌بوک، گوگل پلاس را از روی فیسبوک کپی کرد و هیچ نوآوری جدی‌ای در آنها نداشت . از طرفی کلا گوگل در زمینه شبکه‌های اجتماعی جواب خود را پس داده است و دیگر کسی به سرویس اجتماعی که گوگل صاحب آن باشد اعتماد نمی‌کند چون می‌داند که بزودی مانند گوگل تاک ، گوگل اورکات ، گوگل پلاس ، گوگل ریدر (گودر) ،گوگل کروم اپس ، گوگل بوکمارس، انگولار جی اس ، گوگل پولی ، کوتاه‌کننده لینک گوگل ، گوگل لون ، گوگل تراستد کانتکت ، گوگل فابریک ، گوگل تریپ، گوگل مسیج سنتر ، گوگل اینباکس ، گوگل الو ، گوگل ریپلای ، گوگل ریولو ، گوگل فری‌بیس ، گوگل کد ، آی گوگل ،گوگل مییبو ، گوگل اسلاید (شبکه اجتماعی عکس محور مانند فیسبوک و مای‌اسپیس)  ، گوگل هلث ، گوگل باز (شبکه میکروبلاگینگ گوگل) ، گوگل نوت‌بوک ، گوگل هات پات ، گوگل پیج کریتور ، گوگل رایتلی ، گوگل Answer و.. بسته خواهد شد! ضمنا تعداد قابل توجهی از این اسامی کاملا کپی شده بودند و بعد مدتی شکست خورده و خاموش شدند! باید گوگل را امپراطور پروژه‌های شکست خورده نامید! این لیست بلندتر از چیزهایی است که نوشته شده است.

 

و جمع بندی

در نهایت به دلایلی که در بالا عرض شد شرکتی به بزرگی گوگل نتوانست یک پیامرسان قوی و بزرگی برای خودش داشته باشد. هنوز که هنوز است هنگ‌اوتس بدون هیچ‌گونه آپدیت و به مزخرفی تمام کار می‌کند . کلی محدودیت دارد و بهترین کاری که می‌کند ارسال و دریافت پیام است و بس! از طرفی شرکتی به بزرگی گوگل که سرویس‌های سودزا مانند جیمیل و موتورجستجویش دارد عملا نیازی به داشتن یک پیامرسان در بازار اینترنت ندارد و تجربه هم نشان داده که زیاد در زمینه پیامرسان‌ها و شبکه‌های اجتماعی موفق نبوده است . پس تمرکزش را بر روی سرویس‌های سودزا می‌کند تا اینکه تمرکز بر روی کارهای بگذارد که در آنها فاجعه است . و شاید باید مسئولیت ساختن پیامرسان برای مردم دنیا را به شرکت‌هایی مانند تلگرام بسپارد . (البته نه واتساپ ، چون واتس‌آپ هم یک سرویس ضعیفی است)

کریتیو کامنز یا همان داستان حق نشر با کمی آزادی !

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

یک قانون بزرگ جهانی برای کپی رایت وجود ندارد. لزوما دو کنسرسیوم بین‌المللی هستن که به صورت معاهدات از کشورهای عضو می‌خوان که قوانینی رو تصویب کنند که این حقوق رعایت بشه. کلا دو کنوانسیون برای این مساله وجود داره که یکیشون کنوانسیون برن و دیگری کنوانسیون جهانی نشر یا همون قراداد ژنو عه که ایران عقب مونده و مزخرفمون متاسفانه در هیچ‌کدوم از این‌ها عضو نیست! درسته که داخل ایران قواینی برای حق نشر وضع شده و در دادگاه‌های کشور قابل پیگیریه ، اما این قوانین تنها شامل آثار ((( داخلی ))) !‌ تاکید می‌کنم آثار ((داخلی)) است و شامل آثار خارجی نمی‌شود . (مثل خیلی از کتاب‌ها که در ایران ترجمه شدند ولی هیچ جق نشری به نویسنده پرداخت نمی‌کنند) . شما به سادگی می‌توانید آثار خارجی‌ها رو بدزدین و در ایران پخش کنید و ازش هم پول دربیارید. متاسفانه ایران جزو این دو کنوانسیون نیست و به عبارتی بهشت دزدان معنویه (جدای از بهشت دزدان اقتصادی)

حالا کاری با این داستان نداریم . می‌خوایم کلا فارسی صحبت کنیم .برای همین ما به Copy right میگیم حق نشر (و کلا با copy write) فرق دارد. قوانین سفت و سختی که باعث حفاظت معنوی آثار می‌شود . اگر یک اثری شامل حق نشر باشد یعنی که کلیه حقوقی که در ادامه به آنها اشاره می‌شود تنها و تنها در انحصار شخص تولیدکننده و یا تحت قراردادی در انحصار ناشر آن می‌باشد . تولید مجدد اثر ، خلق اثرات و کارهای مشتق شده (کارهای دیگر بر مبنای کار اصلی)، توزیع نسخه های کار با فروش، اجاره یا انتقال مالکیت دیگر، انجام کار به صورت عمومی، نمایش کار به صورت عمومی از مواردی است که این حقوق اثر را حفظ می‌کند. که مالک اثر نیز می‌تواند تحت قراداد‌های مختلف این حقوق را به دیگران اعطا نماید.

همین قانون به نوشته‌ها ، موسیقی ها ، آثار هنری دیگر و همچنین نرم‌افزارها و دیگر چیزها تعمیم داده شد. به طوری که حتی نرم‌افزارها هم شامل حق حق نشر می‌شدند .  این قوانین سفت و سخت بودند و اصولا هرکسی که دوست داشت آثار آزاد را تولید کند عملا تحت این قانون قرار می‌گرفت . تا اینکه دوستی اومد گفت چه کاریه . ما میایم یه چیزی به اسم کپی لفت درست می‌کنیم . چون right عملا هم به معنی حق و هم به معنی راست بود که کپی لفت (برعکس رایت) درست شد که تحت قوانینی اجازه می‌داد که افراد آثارشون رو منتشر کنند . کپی لفت توسط برنامه‌نویسان ایجاد شد برای اینکه بتوانند نرم افزاری که نوشتند را به سادگی در اختیار بقیه افراد قرار دهند و عملا همه باهم بتوانند به سادگی آن را توسعه دهند و بهتر کنند!‌ که بعد‌ها تبدیل به لایسنس GPL که درست کننده‌اش آقای استالمن افسانه‌ای بود شد . نرم افزار‌هایی که تحت این لیسانس منتشر می‌شوند شامل این آزادی‌ها خواهند بود :

آزادی صفر: کاربر باید اجازه داشته باشد نرم‌افزار را به هر منظوری که نیاز دارد اجرا کند.
آزادی یک: کاربر باید اجازه داشته باشد کد منبع (Source Code) نرم‌افزار را مطالعه کرده و مطابق با نیاز خود تغییر داده یا اصلاح کند، برای این منظور باید کد منبع به نحوی در اختیار کاربر قرار داده شود.
آزادی دو: کاربر باید اجازه داشته باشد با اهداف تجاری یا غیر تجاری، اقدام به بازنشر نرم‌افزار مورد استفاده خود کند.
آزادی سه: کاربر باید اجازه داشته باشد با اهداف تجاری یا غیرتجاری، نرم‌افزاری که کدهای منبع آن را تغییر داده یا اصلاح کرده را منتشر کند

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

که این خود باعث پیشرفت چشمگیر دنیای سیستم‌عامل‌ها و نرم افزارها شد . و درنهایت افرادی که خیلی دیگه فیلسوف بودن و از دنیا بریده بودن تصمیم گرفتند چیزی رو به اسم Public Domain به وجود بیارن که تمامی این محدودیت‌ها رو از بین می‌برد. وقتی اثر و یا نرم افزاری تحت لیسانس PD منتشر شد یعنی که ناشر و یا سازنده اون تمامی حق و حقوق رو از خودش سلب کرده و افراد می‌تونن با اون اثر هرکاری دلشون خواست کنند .می‌تونن رایتش کنن رو سی دی و بفروشن و هزار تومنم به سازنده اثر پول ندن.

این قوانین برای نرم افزار بیشتر صدق می‌کرد. اما دنیای هنر و ادبیات و غیره که هنرمندانش مشغول تولید آثار بودند ، نمی‌توانستند تحت لایسنس GPL فعالیت کنند . تا اینکه سازمان کریتیو کامنز به وجود اومد . یا همون CC خودمون که خیلی جاها دیدیمش . این سازمان یک سازمان بدون سوده که پروانه‌های مختلفی رو برای نشر تولید کرده است . این پروانه‌ها حالا بسیار ساده‌تر و قابل فهم‌تر از همون کپی رایت خودمونه . یعنی به کسی که از این پروانه‌ها استفاده می‌کنه اجازه می‌ده که قشنگ مشخص کنه که کدوم حق رو به بقیه افراد می‌ده و کدوم حق رو به بقیه افراد نمی‌ده . این یک قدم جلوتر از همون داستان کپی‌رایت خودمونه. یعنی شما با این اجازه نامه می‌تونین بگین که چه حق هایی پیش شما محفوظه و دیگر افراد و ناشران اون حق رو ندارند و چه حق هایی رو شما به اون‌ها می‌دین . این اجازه نامه‌ها متنوع هستند که به توضیح اونها خواهم پرداخت .

لایسنس‌های creative commons

کلا شش نوع لایسنس در CC وجود دارد :

CC - BY

این مجوز به استفاده کنندگان (ReUsers) این اجازه رو می‌ده که اثر رو در هر قالبی توزیع ، بازسازی، اقتباس در هر مدیومی کنند مادامی که اثر رو به خالقش نسبت بدند. یعنی مادامی که شما اثر رو به خالقش نسبت می‌دید می‌تونید این اثر رو پخش و توزیع کنید و یا بازسازی و اقتباس کنید. علامت آدمک(BY) که در مجوز نشان داده شده به این معنی است که باید به سازنده و خالق نسبت داده شود و همیشه روی آن نام سازنده ذکر شود . مجوز همچنین استفاده تجاری را نیز می‌دهد

CC - BY-SA

این مجوز به استفاده کنندگان (ReUsers) این اجازه رو می‌ده که اثر رو در هر قالبی توزیع ، بازسازی، اقتباس در هر مدیومی کنند مادامی که اثر رو به خالقش نسبت بدند. در کنار نسبت دادن به خالق اثر همچنین درصورت بازسازی ، اقتباس ، ترکیب مجدد و یا توزیع کنید شما باید اثر اصلاح شده و یا توزیع شده و یا ترکیب مجدد شده و یا اقتباس شده خودتون رو تحت شرایط یکسان مجوز بدید . علامت C برعکس (SA) به معنی این است که اثر توزیع شده و یا تولید شده و.. بایستی حتما تحت همین مجوز منتشر شوند و شما حق ندارید لایسنس اون رو تغییر بدید و تحت پروانه دیگه منتشر کنید! همچنین علامت آدمک(BY) که در مجوز نشان داده شده به این معنی است که باید به سازنده و خالق نسبت داده شود و همیشه روی آن نام سازنده ذکر شود . مجوز همچنین استفاده تجاری را نیز می‌دهد .

CC - BY-NC

این مجوز به استفاده کنندگان (ReUsers) این اجازه رو می‌ده که اثر رو در هر قالبی توزیع ، بازسازی، اقتباس در هر مدیومی کنند مادامی که اثر رو به خالقش نسبت بدند. در کنار نسبت دادن به خالق اثر شما حتما باید این اعمال را در شرایط غیر تجاری انجام دهید! یعنی شما به هیچ عنوان حق تجاری‌سازی و درآمد‌زایی از اثر را ندارید! یعنی بطور مثال اگر اثر یک تصویر بود ، شما حق ندارید از تصویر مورد نظر که تحت این پروانه منتشر شده در پروژه‌های تجاری که از آنها درآمد کسب می‌کنید استفاده کنید (بطور مثال استفاده از موسیقی‌هایی که با این پروانه ایجاد می‌شوند اما توسط تدوین‌گرها در ویدیوها قرارداده می‌شوند و برای ساخت ویدیو از کارفرما درآمد کسب می‌کنند ) . این پروانه انجام این کار را از استفاده کنندگانش سلب می‌کند.علامت آدمک(BY) که در مجوز نشان داده شده به این معنی است که باید به سازنده و خالق نسبت داده شود و همیشه روی آن نام سازنده ذکر شود . مجوز همچنین استفاده تجاری را نیز می‌دهد . علامت دلاری که روی آن خط خورده (NC) نیز به این معنی است تنها و تنها استفاده غیرتجازی از اثر اجازه داده شده است .

CC - BY-NC-SA

این مجوز به استفاده کنندگان (ReUsers) این اجازه رو می‌ده که اثر رو در هر قالبی توزیع ، بازسازی، اقتباس در هر مدیومی کنند مادامی که اثر رو به خالقش نسبت بدند. در کنار نسبت دادن به خالق اثر همچنین درصورت بازسازی ، اقتباس ، ترکیب مجدد و یا توزیع کنید شما باید اثر اصلاح شده و یا توزیع شده و یا ترکیب مجدد شده و یا اقتباس شده خودتون رو تحت شرایط یکسان مجوز بدید . همچنین شما حق استفاده از اثری که تحت این پروانه منتشر شده بصورت تجاری ندارید و تنها وتنها بایستی به صورت غیرتجاری استفاده شود علامت C برعکس (SA) به معنی این است که اثر توزیع شده و یا تولید شده و.. بایستی حتما تحت همین مجوز منتشر شوند و شما حق ندارید لایسنس اون رو تغییر بدید و تحت پروانه دیگه منتشر کنید! همچنین علامت آدمک(BY) که در مجوز نشان داده شده به این معنی است که باید به سازنده و خالق نسبت داده شود و همیشه روی آن نام سازنده ذکر شود . مجوز همچنین استفاده تجاری را نمی‌دهد . علامت دلاری که روی آن خط خورده (NC) نیز به این معنی است تنها و تنها استفاده غیرتجازی از اثر اجازه داده شده است .

CC - BY-ND

این مجوز به استفاده کنندگان (ReUsers) این اجازه رو می‌ده که اثر رو در هر قالبی توزیع و یا کپی در هر مدیومی کنند مادامی که اثر رو به خالقش نسبت بدند و دقیقا آن را به همان شکل منتشر کنند. تنها مجاز به کپی و توزیع اثر بصورت غیرتطبیغی هستید! علامت آدمک(BY) که در مجوز نشان داده شده به این معنی است که باید به سازنده و خالق نسبت داده شود و همیشه روی آن نام سازنده ذکر شود . علامت مساوی (ND) نیز یعنی هیچگونه مشتق و یا اقتباس از اثر مجاز نیست . همچنین آثار منتشر شده تحت این پروانه می‌توانند به صورت تجازی نیز استفاده شوند.

CC - BY-NC-ND

این مجوز به استفاده کنندگان (ReUsers) این اجازه رو می‌ده که اثر رو در هر قالبی توزیع و یا کپی در هر مدیومی کنند مادامی که اثر رو به خالقش نسبت بدند و دقیقا آن را به همان شکل منتشر کنند. تنها مجاز به کپی و توزیع اثر بصورت غیرتطبیغی هستید! همچنین شما حق استفاده از اثر بصورت تجاری نخواهید داشت! علامت آدمک(BY) که در مجوز نشان داده شده به این معنی است که باید به سازنده و خالق نسبت داده شود و همیشه روی آن نام سازنده ذکر شود . علامت مساوی (ND) نیز یعنی هیچگونه مشتق و یا اقتباس از اثر مجاز نیست. مجوز حق استفاده تجاری را نیز نمی‌دهد . علامت دلاری که روی آن خط خورده (NC) نیز به این معنی است تنها و تنها استفاده غیرتجازی از اثر اجازه داده شده است .

CC0

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

 

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

همچنین برای مشاهده پروانه هاتف به این لینک مراجعه نمایید : پروانه متعلق به ویدیو‌ها و دیگر آثار هاتف

 

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

cc.hatefix.ir

 

 
 

 

 

به وبلاگ من خوش آمدید
منوی اصلی و پروژه‌ها
دسته‌بندی مطالب
کلمات کلیدی
اسپانسر


کریتیو کامنز و حق نشر
Designed By Erfan Edited by HAT3F