خوش آمدید به رمان ۹۸ | بهترین انجمن رمان نویسی

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

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
تجربه های یک برنامه نویس اندروید و توصیه به افرادی که می خواهند به این عرصه وارد شوند.

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
شروع برنامه نویسی:

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
جاوا:
اگر به توصیه بالا عمل کردید این مرحله نباید زمان زیادی از شما بگیرد. با یادگیری انواع متغیرها، حلقه ها، جملات شرطی و مفاهیم شی گرایی در جاوا آشنا شوید و بلافاصله شروع به یادگیری اندروید کنید. من در این مرحله هم اشتباهات بزرگی کردم. شاید به مدت ۶ ماه فقط در حال یادگیری جاوا بودم در حالیکه به خیلی از مباحثی که در آن زمان یاد گرفتم هنوز هم نیاز پیدا نکرده ام. سعی کنید یادگیری خود را بر اساس نیاز قرار دهید. یعنی اگر در پروژه ای نیاز به مبحث خاصی بود آن مبحث را خوب یاد بگیرید. در غیر این صورت شاید هیچ وقت به آن مبحث نیاز نداشته باشید. بزرگترین مشکل بعد از یادگیری جاوا، نصب اندروید استودیو خواهد بود. خیلی از کسانی که در گروههای اندروید می بینم برای نصب اندروید استودیو زمان زیادی می گذارند و در نهایت بی خیالش می شوند. سعی کنید مرحله به مرحله پیش بروید. من برای نصب اندروید استودیو یک ماه درگیر بودم. در نهایت هم به دلیل اینکه امولاتو روی سی پی یوهای AMD کار نمی کند مجبور شدم یک ماه برای نصب لینوکس و اندروید استودیو زمان بگذارم. البته همه اینها برای کسی که تازه وارد دنیای برنامه نویسی شده بود انقدر طول کشید. آن زمان خوب جستجو نمی کردم. حتما از ابتدا مهارت خوب جستجو کردن را در خود ارتقا دهید تا از این نوع مشکلات نداشته باشید.


برنامه نویسی چیست؟

 
  • تشکر
Reactions: Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
یادگیری عمیق ولی پروژه محور:

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

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

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
۱۲ حقیقت در مورد برنامه نویسی که همه باور دارند

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


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

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

برای بیشتر متوجه شدن ادامه را بخوانید.

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
۲.شما باید یک ریاضیدان با استعداد باشید
هرچند این گفته ۱۰۰درصد درست نیست ولی همچنان نمیتوانیم آن را کاملا اشتباه فرض کنیم.ارتباط بین برنامه نویسی و ریاضیات در این حقیقت بازتاب دارد که در هر دوی آنها نیاز به تفکر منطقی است تا بتوان به یک راه حلی قطعی دست یافت.

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

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

نابلد بودن در ریاضیات به این معنا نیست در برنامه نویسی خوب نخواهید بود.همانطور که عالی بودن در ریاضیات بمعنای یک برنامه نویس عالی بودن نیست.


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
۳.شما نیاز به سطح هوشی MENSA-Caliber دارید.(بالاترین سطح هوشی در جهان)

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

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
۴.می توان زبانی را بعنوان بهترین زبان برنامه نویسی انتخاب کرد
برخلاف زندگی روزمره ،وقتی حرف از برنامه نویسی ست،نمی توان گفت بهترین زبان کدام است.برای اینکه هر زبان برنامه نویسی برای دستیابی به هدف خاصی نوشته شده است.

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

اینکه کدامیک از این سه برنامه بهترین انتخاب است کاملا به شما و مسئله ای که در حال حل آن هستید بستگی دارد.


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
۵.برنامه نویسی را فقط باید در دانشگاه آموخت
ممکن است این حرف در گذشته درست بوده باشد،چون فقط مکان هایی انگشت شمار در خارج از دانشگاه وجود داشت که کدنویسی را آموزش می داد،امروزه شما می توانید هرآنچه را نیاز دارید،به مقدار زیاد پیدا کنید،فرقی ندارد که یک مبتدی باشید یا یک توسعه دهنده ارشد در یک شرکت برجسته آی تی.

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

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿

*KhatKhati*

مدیر بازنشسته رمان ۹۸
کاربر رمان ۹۸
  
عضویت
16/7/20
ارسال ها
2,693
امتیاز واکنش
9,215
امتیاز
233
محل سکونت
گلنمکستان
زمان حضور
63 روز 21 ساعت 58 دقیقه
نویسنده این موضوع
۶.برنامه نویسی شغل خانم ها نیست
اینجا وارد بحث فمینیسم می شویم،ولی ادعای اساسی وجود ندارد که بگوید زن ها نمیتوانند مانند مرد ها برنامه نویس شوند.برای مثال اولین برنامه نویس در جهان یک زن بوده است.ماریسا مایر،مدیر ارشد یاهو! از اولین برنامه نویس های استخدام شده توسط گوگل بود.همچنین پرس هوپر کسی که نه تنها بعنوان یک برنامه نویس شهرت دارد،بلکه بعنوان شخصی که دوره "bug " و مفهوم آن را به آن صورت که امروزه می دانیم،مطرح کرده است،می شناسیم.

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


برنامه نویسی چیست؟

 
  • تشکر
Reactions: SAEEDEH.T و Saghár✿
shape1
shape2
shape3
shape4
shape7
shape8
بالا