مردمان سرزمین صفر و یک!
بسیاری از ما اسم و عنوان برنامهنویسی را بارها شنیدهایم و آن را به کار بردهایم، بدون آنکه دقیقا بدانیم کار برنامهنویس چیست و حوزه کاری او منحصر به چه محدودهای است. در دنیای مدرن امروز و با رشد بیوقفه فناوریهای موبایلی و تکنولوژیهای پیشرفته، نیاز به متخصصان فناوری اطلاعات، از جمله برنامهنویسان و توسعهدهندگان و مهندسین نرمافزار روز به روز بیشتر شده و نیاز به مهارت مهندسان این حوزه در هر لحظه از زندگی روزمره، از خرید و سرگرمی گرفته تا تحصیل و آموزش احساس میشود. مشاغل دنیای فناوری هر روز گستردهتر و پیچیدهتر از قبل شده و شاخههای فرعی آن به سرعت تبدیل به رشتههای مادر میشوند. از طرفی با این وصف، تاریخ انقضای چنین مشاغلی نیز زودتر به سر خواهد آمد؛ تا جایی که ممکن است پیش از اینکه به خودمان بیاییم بسیاری از این مشاغل به همان سرعتی که ظهور و بروز پیدا کردهاند از دور بازی خارج شوند! بنابراین بهروزرسانی مهارت و دانش تخصصی برای فعالان عرصه فناوری و تکنولوژی یک ضرورت همیشگی به حساب میآید.
نخستین برنامهنویس رایانه ایدا لاولیس، بانوی ریاضیدان و کنتس انگلیسی بود که در اکتبر ۱۸۴۲ برای اولینبار الگوریتمی را به منظور پیادهسازی روی موتور تحلیلی[۱] چارلز بابیج، جهت محاسبهی عدد برنولی[۲] نوشته و منتشر کرد. اما به دلیل این که ماشین بابیج در زمان لاویس برای عملکرد استاندارد کامل نشده بود، هرگز موفق نشد تا اجرای الگوریتم خود را ببیند. بعدها کنراد تسوزه آلمانیتبار، صد سال پس از لاولیس و برای اولینبار در سال ۱۹۴۱، یک برنامه را بر اساس عملکرد الکترونیکی مدرن مبتنی بر رایانه اجرا کرد؛ کاری که بسیار شبیه به کدنویسی برنامهنویسهای امروز با کامپیوترهای مدرن است.
دستگاههای قابل برنامهریزی و تنظیم، الگوریتمهای رمزگشایی و رمزگذاری همه و همه برای قرنها وجود داشتهاند؛ اما کدنویسی به صورتی که امروز میشناسیم، با «کد ماشین» که زبان برنامههای اولیه کدنویسی بود آغاز شد که غالبا به صورت دودویی نوشته میشد[۳]. زبانهای جدیدی نیز به تدریج ایجاد شد تا به برنامهنویس اجازه دهد دستورالعملها را در قالب متنهای مختلف مشخص کند. برنامهنویس میبایست عناصر مهمی را در کدهای خود به اجرا بگذارد؛ مانند کاربردپذیری، نگهداشتپذیری، کارایی ارگونومی و قابلیت حمل. با در نظر گرفتن این عناصر در الگوریتمها، به نحوی که بتوان از آنها برای حل مسئله و پیشبرد منطق زبانی استفاده کرد، در نهایت مجموعهای از کدها ارائه میشود تا به راهحل مسئله موردنظر پرداختهشود. برنامهنویسها همچنین برای برطرف کردن اشکالات این ساختارهای منطقی، آنها را توسط رایانه آزمایش میکنند. بسیاری از نوآوریهای فنی در برنامهنویسی ـ فناوریهای رایانش پیشرفته، زبانهای جدید پیچیده و ابزارهای برنامهنویسی ـ نقش برنامهنویس را از نو تعریف کردهاند تا کدنویسی با سهولت بسیار بیشتری انجام گیرد. به دلیل همین ابزار متنوع در برنامهنویسی، عناوین شغلی برنامهنویسها و شرح وظایف آنها با توجه به سازمانی که در آن هستند ممکن است متفاوت باشند.
برنامهنویسان سروشپلاس با هدف طراحی و ارائه پیامرسانی ساده، جذاب و تماماً ایرانی، با وجود همهی چالشها و دستاندازها بر سر راه رشد فناوری اطلاعات کشورمان دست به توسعه زیرساختهای نرمافزاری و سختافزاری زدند تا بتوانند بهترین خدمات را با بیشترین سهولت در دسترس کاربران سروشپلاس قرار دهند. تیمهای برنامهنویسی در سروشپلاس در چند گروه تخصصی اندروید، ios، دسکتاپ، جاوا، وب و بکاند در حال فعالیتاند که نتیجه این همکاری پیامرسان ایرانی سروشپلاس است که به بازنویسی کامل پروتکل ارتباطی جدید این پیامرسان در نسل پنجم آن انجامیده است.
بخشی از فعالیتهای تیم اندروید سروشپلاس رفع کردن باگهای گزارششده از سمت کاربران، نگهداری کدها و بازنویسی بخشهایی است که نیاز به بازیابی دارند؛ همچنین توسعهی بخشهای جدید برای پیامرسان نیز از دیگر وظایف همکاران بخش اندروید است. جذابیت کار در تیم اندروید، حرکت بر روی لبهی تکنولوژی و استفاده از دانشهای بهروز و زندهای است که اعضای گروه در محیط آکادمیک کسب کردهاند و از طرفی برای پیشبرد هرچه بهتر کار، نیازمند ارتقای دانش خود و حرکت در مسیر جریان اصلی و رایج کدنویسی هستند. برنامهنویسان اندروید لازم است تمام فناوریها و دانشهای جدید حوزهی کاری خود را فرا بگیرند و با توجه به فضای سنگین رقابت در حوزهی پیامرسانها، آنها را مورد آزمون و خطای مدیریتشده قرار دهند تا در صورت مفید بودن برای توسعه پروژههای درون تیم به کار ببندند.[۴]
گروه توسعه جاوا نیز در صورت بروز مشکلات جدی، مسئول بازیابی سرویسها و حفظ پایداری و نگهداری آنها نیز هستند؛ توسعه سرویسها نیز که امری بسیار جدی، دقیق و نیازمند دانش و تجربهی فراوانی است، از بخشهای هیجانانگیز کار گروه جاوا است؛ مرور و توسعهی کدها به سه منظور رفع نیازهای موردی پیش آمده در بسترهای مختلف، تغییر و نگهداری کُدهای پیشتر توسعه یافته و ایجاد و توسعهی افزونههای جدید و اضافه شدن هرگونه امکان جدید، همه و همه در دستور کار تیم جاوا قرار میگیرد.
مهندسان ما در حوزههای هوش مصنوعی، توسعه شبکه، برنامهنویسی و طراحی الگوریتم و ساختار داده شبانهروز در تلاش هستند تا پیامرسانی با استانداردهای جهانی طراحی و ارائه کنند و محیطی امن و مطمئن را برای کاربران سروشپلاس فراهم کنند. سرویسهای جدید سروشپلاس، تماسپلاس و اعلاموضعیت جدیدترین دستاورد برنامهنویسان و مهندسان کامپیوتر این پیامرسان است که به تازگی در اختیار کاربران قرار گرفتهاست. پروژههای عظیمی که در طول حیات ۵ ساله سروشپلاس انجام شده، از جمله اعمال معماری میکروسرویس، بازنویسی پروتکلهای شبکه و پروتکلهای ارتباطی، جز با همت و تلاش بیدریغ مهندسان ما در بخش فنی محقق نمیشد. ۲۲ شهریور بهانهای شد برای گرامیداشت و تقدیر از برنامهنویسان این مجموعه، به امید موفقیتهایی افزون و روزهایی روشن.
[۱] . ماشین محاسبهگر برنامهپذیر
[۲] . دنبالهای از اعداد گویا
[۳].https://fa.wikipedia.org/wiki/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3
[۴] . https://blog.splus.ir/%d8%af%d8%b1-%d8%b1%d8%ab%d8%a7%db%8c-%d8%a2%d9%86%d8%a7%d9%86-%da%a9%d9%87-%d8%af%d8%b1-%d9%be%db%8c-%da%86%da%af%d9%88%d9%86%da%af%db%8c%e2%80%8c%d8%a7%d9%86%d8%af%d8%9f/