اخيرا بازار استخدام مشاغل مربوط به حوزههای علم دادهها (به انگليسى Data Science) و يادگيرى ماشينی (به انگليسى Machine Learning) بسيار داغ شده است. در اين مقاله قصد داریم به اين سوال پاسخ دهيم كه براى پيدا كردن شغلى مناسب در اين ۲ حوزهٔ تكنولوژى، بايد به كدام زبانهاى برنامهنويسى مسلط باشيم؟
در ابتدا بايد اندكى آشنايى با اين دو موضوع داشته باشيم. علم دادهها كه به آن «علم دادهمحور» نيز گفته مىشود، در حقيقت حوزهیی ميان رشتهاى از علم پردازش اطلاعات است؛ وظيفهٔ اصلى علم دادهها، استخراج اطلاعات و آمار از دادههاى گوناگون است. علم دادهها در ادامه برخى از زمينههاى تحليل دادهها مانند آمار، پيشبينى آمارى، يادگيرى ماشينی -كه به آن خواهيم پرداخت- و غیره به وجود آمد.
يادگيرى ماشينی، شاخهاى از علوم كامپيوتری است كه به سيستمها اجازه مىدهد بدون اين كه نياز به برنامهنويسى كامل داشته باشند، اقدام به يادگيرى مباحث گوناگون كنند. يادگيرى ماشينی، نتيجهٔ تكامل و پيشرفت علوم تشخيص الگو (به انگليسى Pattern Recognition) و تئورى يادگيرى محاسباتى در زمينهٔ هوش مصنوعى است. با استفاده از يادگيرى ماشينی مىتوان به كمک سيستمها و مطالعهٔ ساختار الگوريتمهاى گوناگون، دست به پيشبينى دادهها زد.
امروزه يادگيرى ماشينی، به سرعت در حال پيشرفت است؛ تمامى غولهاى صنعت تكنولوژى، سرمايهگذارىهاى کلانی در زمينهٔ علم دادهها و يادگيرى ماشينی انجام دادهاند تا افزايش كيفيت محصولات و خدماتشان را تضمين كنند. اين اقدام به معنى افزايش موقعيتهاى شغلى مناسب در اين زمينهها است.
براى اين كه بتوان در اين حوزهها مشغول به كار شد، بايد به برخى زبانها و مهارتهاى برنامهنويسى تسلط داشت؛ براى دريافتن اين موضوع كه كدام زبانهاى برنامهنويسى در اين ۲ زمينهٔ شغلى، كاربردىتر هستند، جين فرانسوا پاگت، مسئول بخش راهبردهاى تحليلى شركت IBM، با استفاده از اطلاعات موجود در وبسايت indeed.com پستى در وبلاگش نوشت و در آن، به اين موضوع پرداخت. طبق اين اطلاعات، در هر جست و جو، عبارت هاى Data Science و Machine Learning اكثرا همراه با اسامى زبانهاى برنامهنويسى از جمله C++، Java، C و JavaScript بودند. Python و R هم كه از مشهورترين زبانهاى علم دادهها و يادگيرى ماشينی هستند در اين ليست حضور داشتند. علاوه بر اينها، زبانهای Scala و Julia هم در ميان اسامى ديده مىشوند:
از اين اطلاعات چه چيزهايى مىتوان دريافت؟
اين نمودار، علاوه بر نشان دادن تعدادى از زبانهاى كاربردى اين ۲ حوزهٔ تكنولوژى، همچنين دربرگیرندهٔ این مسئله است كه طى ۲ سال گذشته، رشد بالايى را در زمينههاى علم دادهها و يادگيرى ماشينی شاهد بودهايم. همانطور كه انتظار مىرفت، زبان برنامهنویسی Python صدر نمودار را از آن خود كرده است و بعد از آن، R و Java را مىبينيم. همچنين مىتوان به اين موضوع پىبرد كه پايتون فاصلهاش را با جاوا در طى يک سال گذشته به طور چشمگيرى افزايش داده است. جالب اينجا است كه R، در جايگاه سوم قرار دارد در حالى كه اكثرا انتظار داشتند كه جايگاه دوم را از آن خود كند. Scala و Julia هم توانستهاند طى چند ماه اخير رشد صعودی داشته باشند. ليست نهايى به صورت زير است:
١- پايتون
٢- جاوا
٣- R
٤- ++C
٥- C
٦- JavaScript
٧- Scala
٨- Julia
در ابتدا بايد اندكى آشنايى با اين دو موضوع داشته باشيم. علم دادهها كه به آن «علم دادهمحور» نيز گفته مىشود، در حقيقت حوزهیی ميان رشتهاى از علم پردازش اطلاعات است؛ وظيفهٔ اصلى علم دادهها، استخراج اطلاعات و آمار از دادههاى گوناگون است. علم دادهها در ادامه برخى از زمينههاى تحليل دادهها مانند آمار، پيشبينى آمارى، يادگيرى ماشينی -كه به آن خواهيم پرداخت- و غیره به وجود آمد.
يادگيرى ماشينی، شاخهاى از علوم كامپيوتری است كه به سيستمها اجازه مىدهد بدون اين كه نياز به برنامهنويسى كامل داشته باشند، اقدام به يادگيرى مباحث گوناگون كنند. يادگيرى ماشينی، نتيجهٔ تكامل و پيشرفت علوم تشخيص الگو (به انگليسى Pattern Recognition) و تئورى يادگيرى محاسباتى در زمينهٔ هوش مصنوعى است. با استفاده از يادگيرى ماشينی مىتوان به كمک سيستمها و مطالعهٔ ساختار الگوريتمهاى گوناگون، دست به پيشبينى دادهها زد.
امروزه يادگيرى ماشينی، به سرعت در حال پيشرفت است؛ تمامى غولهاى صنعت تكنولوژى، سرمايهگذارىهاى کلانی در زمينهٔ علم دادهها و يادگيرى ماشينی انجام دادهاند تا افزايش كيفيت محصولات و خدماتشان را تضمين كنند. اين اقدام به معنى افزايش موقعيتهاى شغلى مناسب در اين زمينهها است.
براى اين كه بتوان در اين حوزهها مشغول به كار شد، بايد به برخى زبانها و مهارتهاى برنامهنويسى تسلط داشت؛ براى دريافتن اين موضوع كه كدام زبانهاى برنامهنويسى در اين ۲ زمينهٔ شغلى، كاربردىتر هستند، جين فرانسوا پاگت، مسئول بخش راهبردهاى تحليلى شركت IBM، با استفاده از اطلاعات موجود در وبسايت indeed.com پستى در وبلاگش نوشت و در آن، به اين موضوع پرداخت. طبق اين اطلاعات، در هر جست و جو، عبارت هاى Data Science و Machine Learning اكثرا همراه با اسامى زبانهاى برنامهنويسى از جمله C++، Java، C و JavaScript بودند. Python و R هم كه از مشهورترين زبانهاى علم دادهها و يادگيرى ماشينی هستند در اين ليست حضور داشتند. علاوه بر اينها، زبانهای Scala و Julia هم در ميان اسامى ديده مىشوند:
از اين اطلاعات چه چيزهايى مىتوان دريافت؟
اين نمودار، علاوه بر نشان دادن تعدادى از زبانهاى كاربردى اين ۲ حوزهٔ تكنولوژى، همچنين دربرگیرندهٔ این مسئله است كه طى ۲ سال گذشته، رشد بالايى را در زمينههاى علم دادهها و يادگيرى ماشينی شاهد بودهايم. همانطور كه انتظار مىرفت، زبان برنامهنویسی Python صدر نمودار را از آن خود كرده است و بعد از آن، R و Java را مىبينيم. همچنين مىتوان به اين موضوع پىبرد كه پايتون فاصلهاش را با جاوا در طى يک سال گذشته به طور چشمگيرى افزايش داده است. جالب اينجا است كه R، در جايگاه سوم قرار دارد در حالى كه اكثرا انتظار داشتند كه جايگاه دوم را از آن خود كند. Scala و Julia هم توانستهاند طى چند ماه اخير رشد صعودی داشته باشند. ليست نهايى به صورت زير است:
١- پايتون
٢- جاوا
٣- R
٤- ++C
٥- C
٦- JavaScript
٧- Scala
٨- Julia