شیوا محمدی
شیوا محمدی

  • تاریخ عضویت: 1396/07/21
  • آخرین زمان حضور : ‫۲۵ روز قبل، چهار شنبه ۴ اردیبهشت ۱۳۹۸، ساعت ۱۸:۵۲
  • بازدید از پروفایل : 122

گزارش خطا

علت گزارش برای را بنویسید


یادگیری کاتلین برای چه کسانی مناسب است؟

گزارش

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

شاید شما هم به فکر افتاده باشید که دست به کار بشید و این زبان برنامه  نویسی جدیدی که حسابی سر و صدا کرده و یاد بگیرید. یا شاید اصلا گیج شده باشید که یاد گیری کاتلین برای شما مناسب هست یا خیر؟

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

افراد مبتدی:

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

افراد متوسط:

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

افراد حرفه ای:

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

منبع

شیوا محمدی

پسندیده شده توسط: مجید مرادی , شهرام برزنی , حمیددواچی , مشب

معرفی زبان برنامه نویسی kotlin

گزارش

یکی از زبان های برنامه نویسی جدیدی که مورد استقبال شرکت های بزرگ نمر افزاری قرار گرفته است زبانی به نام kotlin می باشد. داستان این زبان برنامه نویسی از آنجایی شروع می شود که شرکت اپل برای برنامه نویسی سیستم های iOS زبان برنامه نویسی swift را ارائه کرد. به دنبال این کار برنامه نویسان اندروید نیز خواستار زبان مشابه swift برای اندروید شدند. زبان kotlin با استفاده از ماشین مجازی JVM اجرا می شود و شباهت های زیادی به زبان swift دارد. همچنین زبان kotlin یک زبان نوع استاتیک است که توسط شرکت jetbrains ارائه شده است. شرکت jetbrains شرکتی است که محصولاتی مانند resharper, Intellij idea, phpStorm , web storm را برای راحتی و کار سریع برنامه نویسان ارائه کرده است. حتی برنامه اندروید استودیو هم بر پایه محصول intellij idea این شرکت ساخته شده است.

مشخصات زبان kotlin

 

سینتکس زبان kotlin قابل درک تر از سینتکس زبان جاوا است و مختصر تر از زبان جاوا است. از قابلیت های دیگر این زبان lambda expression و بارگذاری عملگر ها (operator overloading) و توابعی که با توابع کار می کنند (higher-order functions) می باشد. این توابع توابعی هستند که یا ورودی آنها تابع است یا خروجی آنها یک تابع است. زبان kotlin می تواند با زبان جاوا همکاری و تعامل داشته باشد بنابراین می توان در یک پروژه از هردوی این زبان ها باهم استفاده کرد. اگر شما یک برنامه نویس جاوا باشید می توانید زبان kotlin را در مدت زمان خیلی کوتاهی یاد بگیرید. در ادامه به خصوصیات این زبان برنامه نویسی به شکل فنی خواهیم پرداخت. دقت داشته باشید که برای این که این مطلب را درک کنید لازم است که با سینتکس زبان جاوا آشنایی نصبی داشته باشید..

کلاس ها در زبان kotlin

 

برای ساخت کلاس در کتلین شما باید از کلمه کلیدی class استفاده کنید. برای مثال اگر شما قصد دارید که یک کلاس خالی با نام Person بسازید باید مانند کد زیر عمل کنید.

Class Person{
}

افزودن خصوصیاتی مانند فیلد ها در زبان kotlin

در برنامه نویسی شی گرا معمولا یک کلاس دارای فیلد ها و متدها می باشد. حال اگر بخواهیم به کلاس Person که ساختیم دو فیلد اضافه کنیم باید به شکل زیر عمل کنیم. در کد زیر دو فیلد تعریف شده است که یکی name است که از نوع رشته ای و دیگری age است که از نوع عدد صحیح است.

var name: String = ""
var age: Int = 0

همانطور که می بینید نحوه تعریف فیلد و متغیر با جاوا فرق دارد. در زبان kotlin برای تعریف متغیر شما باید از کلمه کلیدی var استفاده کنید. در حالی که در جاوا اینگونه نیست. همچنین اگر شما بخواهید در کتلین یک متغیر read only یا فقط خواندنی داشته باشید باید از کلمه کلیدی val به جای var استفاده کنید. همچنین برای فیلد هایی که می توانند null باشند یا نباشند نیز کتلین راه حل هایی در نظر گرفته است و این دو نوع متغیر را از هم جدا کرده است یعنی متغیر هایی که می توانند مقدار null بگیرند و متغیرهایی که هیچ وقت نمی توانند null باشند و اگر null شوند کامپایلر خطا خواهد داد. متغیرهای age و name که تعریف کردیم از این نوع است و نمی توانند null باشند. برای این که متغیری بتواند مقدار null هم بگیرد باید هنگام تعریف آن از علامت سوال بعد از نوع متغیر استفاده کرد (این روش در زبان سی شارپ هم وجود دارد.) مانند مثال زیر

var college: String? = null

برای این که یک شئ از یک کلاس ساخته شود در کتلین نیاز به استفاده از کلمه کلیدی new نیست و اصلا کتلین این کلمه کلیدی را ندارد. برای ساخت یک شئ از یک کلاس باید مانند کد زیر عمل کنید.

var jake = Person()

وقتی که یک شئ از یک کلاس ساخته شد مانند زبان جاوا می توان از فیلد های آن استفاده کرد و آنها را مقدار دهی نمود و یا مقادیر آنها را خواند مانند کد زیر:

jake.name = "Jake Hill"
jake.age = 24
jake.college = "Stephen's College"

استفاده از سازنده ها (constructor) در کتلین

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

class Person(var name: String, var age: Int, var college: String?) {
 
}

همانگونه که می بینید هنگام تعریف کلاس شما contructor را هم مشخص می کنید. ولی معمولا کلاس ها بیش از یک constructor دارند. اما نمی توانیم که چند تا کلاس با یک نام تعریف کنیم حال برای این که چند constructor در یک کلاس داشته باشیم باید چکار کنیم؟ برای حل این مشکل باید از کلمه کلیدی constructor استفاده کنیم که به این سازنده های سازنده های ثانویه می گوییم که در سازنده های ثانویه با استفاده از کلمه کلیدی this باید سازنده اصلی را مقدار دهی کنیم و ورودی های سازنده اصلی را نیز مقدار دهی کنیم. برای مثال باید کد را به شکل زیر بنویسیم.

class Person(var name: String, var age: Int, var college: String?) {
     
    var email: String = ""
 
    constructor(name:String, age:Int, college: String?, email: String) : this(name, age, college) {
        this.email = email
    }
}

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

var jake = Person("Jake Hill", 24, "Stephen's College", "jake.hill@example.com")

متدهای کلاس(توابع عضو کلاس) در زبان kotlin

در کتلین برای این که یک تابع یا متد را تعریف کنیم باید از کلمه کلیدی fun استفاده کنیم. برای این که یک متد ساده تعریف کنیم به شکل زیر کد می نویسیم. در کد زیر یک متد به نام isChild تعریف کرده ایم که خروجی آن یک مقدار Boolean می باشد.

fun isChild (): Boolean {
    return age < 18
}

در متد بالا اگر سن زیر 18 سال باشد خروجی true و در غیر این صورت مقدار false برمی گرداند. برای فراخوانی این متد به همان روش جاوا باید عمل کنیم. مانند شکل زیر کد می نویسیم.

jake.isChild()

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

نویسنده: مهدی عادلی فر
منبع: Itpro

 

 

 

شیوا محمدی

پسندیده شده توسط: مجید مرادی , شهرام برزنی , مشب

حقایقی درباره برنامه نویسان که احتمالا نمیدانستید.

گزارش

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

حقیقت اول

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

حقیقت دوم

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

حقیقت سوم

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

حقیقت چهارم

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

حقیقت پنجم

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

حقیقت ششم

به نظرتون تعمیر و نگهداری پروژه چه میزان از هزینه هر پروژه رو شامل میشه ؟ خب اگه اطلاع ندارید باید بگم که این مبلغ چیزی بین ۴۰ تا ۹۰ درصد از مبلغ کل پروژه رو شامل میشه که درجای خودش مبلغ بسیار هنگفتی میشه.

منبع

شیوا محمدی

پسندیده شده توسط: اصغر امینی , مجید مرادی , شهرام برزنی , حمیددواچی , مشب , علی بهمن , مسعود , زهره
ثبت نام ورود