مایکروسافت با معرفی سرفیس هاب ۲، تغییرات جذابی را به این رایانهی غولپیکر اعمال کرد. بزرگترین عضو خانوادهی سرفیس در دو نسخه به بازار عرضه خواهد که مدل 2S برای عرضه در سال آینده در نظر گرفته شده است. طبق گفتهی مایکروسافت، این مدل از کارتریجِ پردازنده با طراحی ماژولار بهره میبرد؛ بنابراین دارندگان این نسخه میتوانند با عرضهی سرفیس هاب 2X در سال ۲۰۲۰، دستگاه فعلی خود را به سختافزار جدید ارتقاء دهند.
اهالی ردموند از آن جهت از معماری ماژولار در سرفیس هاب ۲ استفاده کردهاند که بهواسطهی کارتریجها، کاربران میتوانند در طول زمان، سختافزار دستگاه خود را با نیازهای روز همگام سازند؛ این روش علاوه بر سرفیس هاب، برای سرفیس استودیو و کاربران این رایانههای مجتمع نیز بسیار کارآمد خواهد بود.
از معرفی سرفیس استودیو بیش از ۲ سال میگذرد و در این زمان، پیشرفتهای سختافزاری بسیاری برای رایانههای شخصی اتفاق افتاده است. مایکروسافت پیشتر پتنتی را بهثبت رسانده بود که استفاده از طراحی ماژولار در دستگاهی مشابه به سرفیس استودیو را نشان میداد؛ اگرچه این شرکت هرگز این موضوع را تأیید نکرده است، اما امکان ارتقاء سختافزاری این رایانه یا استفادهی جداگانه از نمایشگرِ آن، قطعاً اتفاق جذابی برای علاقهمندان به این محصول خواهد بود.
حال باتوجه به اینکه در نسل دوم سرفیس هاب از پردازندههای کارتریجی استفاده شده است؛ استفاده از این طراحی برای نسل آتی سرفیس استودیو چندان دور از ذهن نیست. مایکروسافت از مدتها پیش روی چنین ایدهای کار میکند؛ اما هنوز مشخص نیست که در سرفیس استودیو ۲ به این معماری روی خواهد آورد یا خیر؟
پردازندهی کارتریجی مورداستفاده در سرفیس هاب ۲
با این حال، استفاده از طراحی ماژولار به هیچ عنوان راحت نیست. تولیدکنندگان گوشیهای هوشمند این شیوه را چندین بار امتحان کردهاند؛ اما این امر هیچگاه با موفقیت بزرگی همراه نبوده است. ممکن مایکروسافت فعلاً از این شیوه برای تبلتهای سرفیس استفاده نکند؛ اما مطمئناً پیشرفتهای تکنولوژیکی که در طول این سالها بدست آمده، شرایط را برای استفاده از معماری ماژولار در رایانهی شخصی مجتمع این شرکت هموارتر کرده است.
باتوجه به این موضوع که نبودِ امکان ارتقاء سختافزاری در رایانههای آلاینوان (AiO) یکی از نقاط ضعف این دستگاهها نسبت به کامپیوترهای عادی برشمرده میشدند، مسلماً استفاده از طراحی ماژولار میتوانند قدم موثری برای تغییر دیدگاه عموم نسبت به این رایانهها بردارد.
تحقیقات اخیری که توسط شرکت Bain روی ۶ هزار نفر از کاربران آمازون پرایم انجام شده است، خبر از علاقهی آنها به سرویسهای مالی احتمالی این شرکت دارد. در این تحقیق، ۶۵ درصد از کاربران آمازون پرایم اعلام کردهاند که در صورت ارائهی حساب بانکی رایگان از سوی این شرکت، آن را امتحان خواهند کرد. بهعلاوه، ۳۷ درصد از افرادی که حتی خریدی از آمازون ندارند، به استفاده از خدمات مالی این شرکت تمایل نشان دادهاند.
خبرهای منتشر شده، بیش از همه برای بانکهای سنتی نگرانکننده است. با نگاهی به تاریخچهی آمازون به این نتیجه میرسیم که این شرکت و مؤسسش از ورود به هیچ بازار جدیدی ترس ندارند. تنها کافی است نگاهی به خرید بزرگ آنها یعنی هول فودز و برنامههای جدی برای ورود به صنعت دارو داشته باشیم.
در گزارش منتشر شده در منبع این خبر آمده است:
تحقیقات ما نشان میدهد که آمازون میتواند روی تقاضای بالا برای خدمات بانکداری حساب کند. در میان شرکتکنندگان عضو سرویس آمازون پرایم (که حق عضویت ماهانهای را برای خدماتی همچون دریافت کالا تا دو روز پس از سفارش پرداخت میکنند)، ۶۵ درصد از آنها عنوان کردهاند که حساب بانکی آنلاین و رایگان آمازون را امتحان خواهند کرد. گفته شده که این حساب بانکی، ۲ درصد از مبلغ خرید را در خریدهای افراد از سایت آمازون به آنها باز میگرداند.
۴۳ درصد از آن دسته از کاربران آمازون که عضو پرایم نیستند نیز به امتحان کردن چنین حساب بانکی ابراز تمایل کردهاند. حتی ۳۷ درصد افرادی که از آمازون برای خریدهای آنلاین استفاده نمیکنند نیز به این سرویس علاقهمند هستند.
مقالههای مرتبط:
این تحقیقات، پس از انتشار خبری در ماه فروردین امسال (مارس ۲۰۱۸) انجام شد. در آن خبر آمده بود که آمازون بهدنبال شراکت با بانکها است. در میان این شرکای احتمالی، نام شرکتهایی همچون کپیتال وان و جیپی مورگان به چشم میخورد. هدف از این شراکت نیز، توسعهی محصولی شبیه به حساب بانکی چکی عنوان شد. بههرحال اگر این توافق اتفاق بیافتد یا آمازون سرویس بانکی مستقل خود را راهاندازی کند، قطعا بانکهای سنتی خسارت خواهند دید.
علاوه بر موارد قبلی، تحقیقات Bain نشان داد که کاربران، شاخص خالص مروجان (NET Promoter Score) را برای آمازون بیشتر از بانکهای سنتی میدانند. آنها امتیاز ۴۷ را به این شرکت دادهاند؛ درحالیکه که میانگین این امتیاز برای بانکهای سنتی منطقهای بیش از ۳۱ و برای بانکهای ملی بیش از ۱۸ نبوده است.
نظر شما چیست؟ آیا آمازون به صنعت خدمات مالی وارد میشود؟ در این صورت چه تهدیدی متوجه بانکها میشود؟
افشاگریهای اخیر دربارهی محصول جدید الجی با نام LG V40 ThinQ بسیاری از طرفداران این برند را سردرگم کرده است. آنها پیش از این با ابهاماتی دربارهی وجود بریدگی بالای صفحه نمایش یا قرارگیری دوربین سهگانه در پشت دستگاه روبهرو بودهاند. البته هیچ راهی بهتر از نگاه به رندر مطبوعاتی تازه منتشر شده توسط ایوان بلاس برای متقاعد کردن طرفداران این برند وجود ندارد.
رندر جدید یک نسخه AT&T از LG V40 ThinQ است که دستگاه را از هر دو طرف جلو و پشت نشان میدهد. نکتهای که در این تصویر جالب بهنظر میرسد بریدگی صفحه نمایش است که احتمالاً توسط یک نوار مشکی رنگ که سرتاسر قاب بالای گوشی را در برگرفته پنهان شده است. با این حال به وضوح میتوانید لوگوی AT&T و اعلان NFC را در بخش ضخیمتر این نوار مشکی رنگ مشاهده کنید.
در پشت دستگاه دوربینی مشاهده میشود که به سه لنز مجهز است و پیشتر نیز شایعهی آن شنیده شده بود. بر خلاف دیگر گوشیهای هوشمند نظیر هواوی P20 Pro و سامسونگ Galaxy A7 با سه دوربین اصلی که به صورت عمودی قرار دارند، ال جی تصمیم گرفته محصول جدید خود را به دوربین سهگانه با چیدمان افقی تجهیز کند. البته بهنظر نمیرسد این موضوع تفاوتی در کارایی دوربین ایجاد کند.
علاوه بر این، رندر جدید مطبوعاتی یک دکمه اضافه در LG V40 ThinQ را نیز نشان میدهد که احتمالاً به منظور فراخوانی دستیار گوگل در کمترین زمان ممکن در نظر گرفته شده است. گوشی LG G7 نیز به دکمهی اختصاصی دستیار گوگل مجهز بود که این موضوع در این روزها نشاندهندهی توجه ویژهی این شرکت به هوش مصنوعی است. با توجه به سیاست جدید الجی در آیندهی نزدیک شاهد استفاده از دکمهی اختصاصی دستیار هوشمند در گوشیهای هوشمند پرچمدار این شرکت به عنوان یک ابزار اصلی خواهیم بود.
قبل از اعمال تحریمهای یکجانبه ایالات متحده آمریکا، ولوو (Volvo) اعلام کرده بود که ایران میتواند قطب اصلی صادرات این شرکت در بازارهای منطقه خلیج فارس و شمال آفریقا باشد؛ اما اتحادیه اروپا از شرکتهای خود حمایت میکند و آمریکا نیز بانکها را تهدید کرده است که اگر با شرکتهای ایرانی داد و ستد کنند، واشنگتن آنها را از سیستم مالی آمریکا حذف خواهد کرد.
به همین دلیل سخنگوی شرکت ولوو اعلام کرد:
تحریمهای جدید دونالد ترامپ و دولت ایالات متحده آمریکا باعث شده که پرداختها و مبادلات مالی شرکت خودروسازی ولوو، قابل انجام نباشد. به همین دلیل ولوو مونتاژ کامیون در ایران را به دلیل تحریمهای آمریکا متوقف کرده است .
ولوو در ایران برای مونتاژ محصولات خود با شرکت سایپا دیزل همکاری میکرد. یکی از مدیران سایپا تایید کرد که ولوو پس از بازگشت تحریمها، توافق خود با سایپا دیزل را متوقف کرده است. این مدیر ساپیا میگوید که آنها بهدلیل تحریمها از اردیبهشت ماه تصمیم گرفتند تا همکاری خود را با ما متوقف کنند و حتی پیشنهاد همکاری جدید را نیز رد کردند.
ترکیب دو ایدهی برنامهنویسی سطح پائین (کار با جزئیات سختافزاری و پیادهسازی ماشین) و طراحی سیستم (ساخت و مدیریت یک مجموعهی پیچیده از مؤلفههای مرتبط) به نظر غیرضروری میرسد؛ اما این قضیه تا چه اندازه صحیح است؟ و از تعریف مجدد سیستمها به چه نتیجهای میتوان رسید؟
دههی ۱۹۷۰: پیشرفت اسمبلی
برای درک تکامل اصطلاح برنامهنویسی سیستم بازگشت به منشأ سیستمهای کامپیوتری مدرن ضروری است. دقیقا مشخص نیست چه کسی این عبارت را اختراع کرده است اما بر اساس پژوهشها تلاشهای جدی برای تعریف سیستمهای کامپیوتری تقریبا از اوایل دههی ۷۰ آغاز شده است. در مقالهای با نام زبانهای برنامهنویسی سیستم به این تعریف اشاره شده است:
یک برنامهی سیستمی مجموعهای یکپارچه از برنامههای فرعی یا زیربرنامه است، زیربرنامهها یک مجموعهی یکپارچه و بزرگتر از مجموعه اجزا را تشکیل میدهند که اندازه و پیچیدگی آن فراتر از یک حد مشخص است. از نمونههای متداول میتوان به سیستمهایی برای برنامهنویسی چندگانه، ترجمه، شبیهسازی، مدیریت اطلاعات و اشتراکگذاری زمانی اشاره کرد. فهرست زیر مشخصات برنامههای سیستمی را ارائه میدهد که بعضی از آنها را میتوان در برنامههای غیرسیستمی هم پیدا کرد و البته ممکن است یک سیستم مشخص تمام این ویژگیها را به صورت یکجا نداشته باشد:
۱. مسئلهی قابل حل ماهیت گستردهای دارد و شامل تعداد زیادی مسائل فرعی و متنوع است.
۲. از برنامهی سیستمی برای پشتیبانی از برنامههای کاربردی و نرمافزاری دیگر استفاده میشود اما درعینحال میتواند بستهی کاملی از برنامهها هم باشد.
۳. برنامهی سیستمی برای تولید پیوسته طراحی شده است نه به عنوان راهحلی یک جا برای حل یک مشکل در برنامهها
۴. برنامهی سیستمی از نظر تعداد و انواع ویژگیهای تحت پشتیبانی به صورت پیوسته در حال تکامل است.
۵. یک برنامهی سیستمی به یک ساختار یا برنامهی مشخص داخل و میان ماژولها (برای مثال برقراری ارتباط) نیاز دارد و معمولا توسط بیش از یک شخص یا گروهی از اشخاص طراحی و پیادهسازی میشود.
این تعریف تا حدودی قابل قبول است. سیستمهای کامپیوتری معمولا دارای مقیاس گسترده و کاربرد طولانی هستند و به مرور زمان تغییر میکنند. البته با این که این تعریف بیشتر توصیفی است اما چشمانداز اصلی آن جداسازی زبانهای سطح پائین از زبانهای سیستمی است (برای مثال مقایسهی اسمبلی با فرترن).
هدف از زبان برنامهنویسی سیستم فراهم کردن زبانی است که بتوان بدون نگرانی در مورد دستکاری بیتها از آن استفاده کرد و درعینحال به کدی دست یافت که عملکرد آن از کدهای دستی بهتر باشد. چنین زبانی باید اختصار و خوانایی زبانهای سطح بالا را با بازدهی فضا و زمان و دسترسی به امکانات سیستمعامل و ماشین زبان اسمبلر را ترکیب کند. زمان طراحی، نوشتن و اشکالزدایی باید بدون تحمیل سربار بر منابع سیستمی به حداقل برسند. پژوهشگرهای CMU زبانی به نام BLISS (زبانی برای برنامهنویسی سیستم) را منتشر کردهاند که به این صورت تعریف میشود:
BLISS یک زبان پیادهسازی است، البته با توجه به این که هدف تمام زبانهای کامپیوتری پیادهسازی است، این تعریف کمی مبهم است. اما در واقع مفهوم عمومی این اصطلاح مدنظر است یعنی زبانهای سطح بالایی که بیشتر بر یک برنامهی مشخص مثل نوشتن سیستمهای بزرگ نرمافزاری تولیدی برای یک ماشین مشخص تأکید میکنند.
زبانهای هدفمند مثل کامپایلر، کامپایلرها در این دسته قرار نمیگیرند و البته لزوما مستقل از ماشین هم نیستند. در این تعریف بر اصطلاح پیادهسازی تأکید میشود و از کلماتی مثل طراحی و مستندسازی استفاده نشده است؛ بنابراین از یک زبان پیادهسازی انتظار نمیرود که طراحی یک سیستم بزرگ یا مستندسازی آن را توصیف کند. مفاهیمی مثل استقلال ماشین، توصیف مشابهی از طراحی و پیادهسازی، خودمستندسازی و مفاهیم دیگر دارند و معیارهایی برای ارزیابی زبانهای مختلف هستند.
در اینجا مؤلفان، زبان پیادهسازی را بالاتر از اسمبلی و پائینتر زبان طراحی میدانند. بر اساس پژوهشهای قبلی، طراحی و پیاده سازی سیستم هرکدام زبان مجزایی دارند. آخرین مدخل مربوط به برنامهنویسی سیستم را میتوان در یک متن آموزشی در مورد یادگیری برنامهنویسی سیستم مشاهده کرد که در ۱۹۷۲ نوشته شده است.
اما تعریف دقیق برنامهنویسی سیستم چیست؟
میتوان کامپیوتر را مثل جانداری درنظر گرفت که از تمام دستورات اطاعت میکند. بر اساس یک تصور دیگر، کامپیوترها انسانهایی هستند که از فلز ساخته شدهاند یا برعکس، انسانها کامپیوترهایی هستند که از گوشت و خون تشکیل شدهاند. با این حال، با نگاهی دقیقتر به کامپیوترها میتوان به این نتیجه رسید که اساسا کامپیوترها ماشینهایی تابع دستورالعملهای مشخص و ابتدایی هستند.
در اولین روزهای اختراع کامپیوتر، مردم با دستورالعملهای ابتدایی بین دو حالت On و Off با کامپیوتر ارتباط برقرار میکردند. خیلی زود مردم به دنبال دستورالعملهای پیچیدهتر رفتند. برای مثال میخواستند خروجی این مسأله را در کامپیوتر ببینند: X=30*Y؛ با توجه به این که Y=10 در نتیجه X کدام است؟ کامپیوترهای کنونی بدون برنامههای سیستمی قادر به درک چنین زبانی نیستند.
مبانی برنامهنویسی سیستم
برنامههای سیستمی (برای مثال کامپایلرها، لودرها، پردازندههای ماکرو، سیستمهای عامل) برای تطبیق بهتر کامپیوترها با نیازهای کاربران توسعه یافتند. علاوه بر این مردم به دنبال کمک یا دستیارهایی برای آمادهسازی برنامههای خود بودند. این تعریف یادآوری میکند سیستمها در خدمت مردم هستند حتی اگر صرفا زیرساختهایی باشند که ارتباط مستقیمی با کاربرها ندارند.
دههی ۱۹۹۰: ظهور اسکریپتنویسی
در دههی ۷۰ و ۸۰ اغلب پژوهشگرها برنامهنویسی سیستم را نقطهی مقابل برنامهنویسی اسمبلی میدانستند. در آن دوره ابزار خوبی برای ساخت سیستمها وجود نداشت (البته هیچ اطمینانی از وجود Lisp در میان این زبانها وجود ندارد هیچ کدام از منابع به Lisp اشاره نکردهاند، با این حال ماشینهای Lisp وجود داشتند).
در اواسط دههی ۹۰، با ظهور زبانهای اسکریپتنویسی داینامیک تغییرات عمدهای در زبانهای برنامهنویسی رخ داد. بهبود سیستمهای اسکریپتنویسی مثل Bash، زبانهایی مثل پرل (۱۹۸۷)، Tcl ، پایتون (۱۹۹۰)، Ruby ،PHP و جاوا اسکریپت (۱۹۹۵) به توسعهی برنامهنویسی کمک کرد. این تغییرات در مقالهی تأثیرگذار اوسترهاوت با عنوان اسکریپت نویسی: برنامهنویسی سطح بالای قرن بیستویک (۱۹۹۸) به اوج خود رسیدند. به موج حاصل از این تغییرات دوگانگی اوسترهاوت بین زبانهای برنامهنویسی سیستمی و زبانهای اسکریپتنویسی گفته میشود.
زبانهای اسکریپتنویسی برای وظایفی متفاوت با زبانهای برنامهنویسی سیستمی طراحی شدهاند و همین مسأله ریشهی تفاوتهای بنیادی این دو زبان است. زبانهای برنامهنویسی سیستمی برای تولید ساختارهای دادهای و الگوریتمها از ابتداییترین عناصر کامپیوتری مثل کلمات حافظه طراحی شدهاند.
مقالههای مرتبط:
در مقابل، زبانهای اسکریپتنویسی برای چسباندن طراحی شدهاند: مجموعهای از مؤلفههای قدرتمند دارند و در اصل برای اتصال این مؤلفهها با یکدیگر در نظر گرفته شدهاند. زبانهای برنامهنویسی برای کمک به مدیریت پیچیدگی،Strongly Typed یا وابستهی زیاد به نوع هستند؛ مفهومی که در مقابل Weakly Typed یا وابسته کم به نوع قرار میگیرد. به این معنی که باید نوع متغیرها، ورودیها و خروجیها توابع و... دقیقا تعیین شوند و کامپایلر پیش از اجرای کدها و رسیدن به مرحلهی اجرای Runtime و بیلد، این مورد را بررسی میکند. در حالیکه زبانهای اسکریپتنویسی Typeless (بدون نوع) هستند. برای مثال میتوان از تعریف متغیر بدون نوع در آنها استفاده کرد و کامپایلر تمام کارها را برعهده دارد. از اینرو برای سادهسازی روابط بین مؤلفهها و توسعهی سریع برنامهها از آنها استفاده میشود. گرایشهای جدید از جمله ماشینهای سریعتر، زبانهای اسکریپتنویسی بهتر، اهمیت فزایندهی واسطههای کاربری گرافیکی و معماریهای مؤلفهای و رشد اینترنت به شدت کاربرد زبانهای اسکریپتنویسی را بالابردهاند.
در سطح تخصصی اوسترهاوت اسکریپتنویسی و سیستم را در راستای محورهای Type Safety (ایمنی نوع) و دستورالعمل به ازای هر عبارت مقایسه کرده است. Type Safety یا ایمنی نوع به قابلیت یا ویژگی یک زبان برنامهنویسی برای جلوگیری یا کاهش رخ دادن Type Errors یا خطاهای ناشی از عدم تطابق نوع گفته میشود. برای مثال تعریف متغیری از نوع اعشاری و به کارگیری آن به جای اعداد صحیح، منجر به وقوع یک Type Error میشود. اوسترهاوت در سطح طراحی بر نقشهای جدید هر کلاس زبانی تأکید میکند: برنامهنویسی سیستم برای ساخت مؤلفهها و اسکریپتنویسی برای چسباندن آنها به یکدیگر درنظر گرفته میشوند.
مقایسهی زبانهای برنامهنویسی بر اساس سطح و درجهی Typing آنها (زبانهای سطح بالاتر دستورالعملهای ماشین بیشتری را برای هر عبارت زبانی اجرای میکنند) زبانهای برنامهنویسی سیستم مثل C از نوع قوی و سطح متوسط هستند (۵ تا ۱۰ دستورالعمل به ازای هر عبارت). زبانهای اسکریپتنویسی مثل Tcl از نوع ضعیف و سطح بالا هستند (۱۰۰ تا ۱۰۰۰ دستورالعمل به ازای هر عبارت).
تقریبا در همین زمان بود که زبانهای موسوم به Garbage Collected به محبوبیت رسیدند. Garbage Collection، زبالهروبی یا بازیافت حافظه، نوعی مدیریت حافظهی خودکار است. در طی این فرآیند فضایی از حافظهی کامپیوتر که قبلا درگیر نگهداری دادهی موردنیاز یک برنامهی کامپیوتری بوده است و اکنون آن برنامه دیگر نیازی به این داده ندارد، آزاد میشود و برای ذخیره و نگهداری دادهی جدید مورد استفاده قرار میگیرد.
در این دهه جاوا و #C به غولهای برنامهنویسی که امروزه میشناسیم تبدیل شدند. با این حال این دو زبان از ابتدا در گروه زبانهای برنامهنویسی سیستمی قرار نگرفتند و از آنها برای طراحی تعداد زیادی از بزرگترین سیستمهای نرمافزاری دنیا استفاده شده است. اوسترهاوت به طور آشکار توضیح میدهد که در دنیای اینترنت کنونی از جاوا برای برنامهنویسی سیستم استفاده میشود.
دههی ۲۰۱۰: مرزها محو میشوند
از دههی گذشته مرز بین زبانهای اسکریپتنویسی و زبانهای برنامهنویسی سیستمی در حال محو شدن است. شرکتهایی مثل Dropbox توانستند سیستمهای مقیاسپذیر و بزرگی را روی پایتون توسعه دهند. از جاوا اسکریپت برای تبدیل UI-های پیچیده و بلادرنگ (Real-Time) در میلیاردها صفحهی وب استفاده شده است. طبقهبندی تدریجی در پایتون، جاوا اسکریپت و دیگر زبانهای اسکریپتنویسی شدت پیدا کرد و به این صورت گذار از کد اولیه به کد تولید تنها با اضافه کردن اطلاعات نوع ایستا امکانپذیر شد.
درعینحال منابع انبوه مهندسی برای زبانهای ایستا (مثل جاوا اسکریپت) و زبانهای پویا (مثل LuaJIT از Lua یا V8 جاوا اسکریپت و PyPy پایتون) وارد کامپایلرهای JIT شدند و آنها را به رقیب عملکردی سیستمهای زبانهای برنامهنویسی سیستمی (C++، C) تبدیل کردند. سیستمهای توزیعشده و بزرگی مثل اسپارک در اسکالا نوشته شدند. زبانهای برنامهنویسی جدید مثل جولیا و سویفت هم محدودیتهایی را برای زبانهای زبالهروب (Garbage Collector) به وجود آوردند.
هیئتی به نام برنامهنویسی سیستم در سال ۲۰۱۴ و بعد از آن، شامل بزرگترین مغزهای زبانهای برنامهنویسی کنونی از جمله بیجارن استروستراپ (خالق ++C)، روب پایک (خالق Go)، آندری آلکساندرسکو (توسعهدهندهی D) و نیکوماتساکیس (توسعهدهندهی Rust). زبان برنامهنویسی سیستم در سال ۲۰۱۴ را این گونه توصیف میکنند:
- نیکو ماستاکیس: برنامهنویسی سیستم مانند نوشتن برنامههای سمت کلاینت است، یعنی دقیقا نقطهی مقابل GO قرار میگیرد. در این برنامهها تأخیر بالایی وجود دارد و همینطور پیشنیازهایی مثل امنیت بالا و پیشنیازهای دیگر وجود دارند که در سمت سرور ارائه نمیشوند.
- بیجارت استروستراپ: برنامهنویسی سیستم از کار با سختافزار سرچشمه گرفته است که بعد از آن پیچیدگی برنامهها افزایش یافت. در برنامهنویسی سیستم با این پیچیدگیها سروکار دارید، پس اگر با مشکلاتی مثل محدودیت منابع روبهرو شدید، بدانید در قلمروی برنامهنویسی سیستم قرار گرفتهاید. محدودیتها تعیین میکنند زبان، برنامهنویسی سیستم است یا خیر. آیا حافظه رو به اتمام است؟ آیا زمان شما رو به پایان است؟
- راب پایک: وقتی برای اولین بار GO را معرفی کردیم آن را یک زبان برنامهنویسی سیستم خواندیم و البته متأسفانه افرادی به اشتباه تصور کردند این زبان برای نوشتن سیستم عامل طراحی شده است. به عقیدهی ما این زبان مخصوص نوشتن سرور است یا میتوان گفت یک زبان زیرساخت ابری است. بر اساس یک تعریف دیگر به برنامهنویسی که در کلود اجرا شود برنامهنویسی سیستم گفته میشود.
- آندری آلکساندرسکو: من چند تست برای تعریف برنامهنویسی سیستم اجرا کردم. زبانهای برنامهنویسی سیستم باید امکان نوشتن تخصیصگر حافظه را بدهند. در این زبان باید قادر به ساخت یک شماره در اشارهگر باشید زیرا عملکرد سختافزار به این صورت است.
رابطهی برنامهنویسی سیستم با عملکرد بالا چیست؟ با محدودیتهای منابع و کنترل سختافزاری چطور؟ یا زیرساخت ابری؟ بهطورکلی به نظر میرسد زبانهایی مثل C ،C++ ،Rust و D از نظر سطح انتزاع و خلاصه بودن از ماشین متمایز میشوند. این زبانها جزئیات سختافزار مثل تخصیص حافظه یا قالب و مدیریت دقیق منابع را نمایش میدهند.
یک تعریف دیگر هم برای آن وجود دارد: در صورت روبهرو شدن با مشکل بازدهی یا بهینهسازی چه مقدار آزادی برای حل آن دارید؟ در زبانهای برنامهنویسی سطح پائین با کنترل دقیق جزئیات ماشین میتوانید هر مشکلی را حل کنید. میتوانید دستورالعمل را بر کل آرایهها اعمال کنید و ساختار دادهای بهدستآمده را در کش (Cache)ذخیره کنید. همانطور که انواع ایستا مثل جمع اعداد صحیح با اطمینان بیشتری اجرا میشوند زبانهای برنامهنویسی سطح پائین هم اجرای مطمئنتر دارند بهطوریکه کدها همانطور که تعریف میشوند اجرا میشوند.
در مقابل، بهینهسازی زبانهای تفسیر شده بسیار پیچیده است. بهراحتی نمیتوان از اجرای قابلانتظار کد توسط Runtime اطمینان حاصل کرد. همین مسئله در کامپایلرهای موازی خودکار هم وجود دارد (Vectorizaiton یا برنامهنویسی آرایهای یک مدل برنامهنویسی نیست. بلکه مانند نوشتن یک واسطه در پایتون است، برای مثال انتظار دارید یک تابع در صورت فراخوانی خروجی int (صحیح) تولید کند).
امروز: بنابراین برنامهنویسی سیستم چیست؟
اغلب به برنامهنویسی سطح پائین، برنامهنویسی سیستم میگویند (با اشاره به جزئیات ماشین)؛ اما معنی سیستم چیست؟ با بازگشت به تعریف ۱۹۷۲ میتوان گفت:
۱.مسئلهی قابل حل، ماهیت گستردهای دارد و شامل تعداد زیادی مسائل فرعی و متنوع است.
۲. از برنامهی سیستمی برای پشتیبانی از برنامههای کاربردی و نرمافزاری دیگر استفاده میشود اما درعینحال میتواند بستهی کاملی از برنامهها هم باشد.
۳. برنامهی سیستمی برای تولید پیوسته طراحی شده است نه به عنوان راهحلی یک جا برای حل مشکلی در برنامهها.
۴. برنامهی سیستمی از نظر تعداد و انواع ویژگیهای تحت پشتیبانی به صورت پیوسته در حال تکامل است.
۵. یک برنامهی سیستمی به یک ساختار یا برنامهی مشخص داخل و میان ماژولها (برای مثال برقراری ارتباط) نیاز دارد و معمولا توسط بیش از یک شخص یا گروهی از اشخاص طراحی و پیادهسازی میشود.
به نظر میرسد این گزینهها بیشتر به مشکلات مهندسی نرمافزار اشاره دارند (پیمانهای بودن، قابلیت استفادهی مجدد، تکامل کد) تا مشکلات عملکردی سطح پائین. این یعنی هر زبان برنامهنویسی که حل این مشکلات را در اولویت قرار دهد یک زبان برنامهنویسی سیستمی است! البته این گزینهها برای تعریف یک زبان برنامهنویسی سیستمی کافی نیستند؛ بنابراین میتوان گفت زبانهای برنامهنویسی پویا یا داینامیک از زبانهای سیستمی دور هستند.
اما مفهوم دقیق این تعریف چیست: زبانهای تابعی مثل Ocaml و Haskell بیشتر از زبانهای سطح پائین مثل C یا ++C به سیستم وابسته هستند. هنگام آموزش برنامهنویسی باید اصول برنامهنویسی تابعی مثل ارزش ثبات، تأثیر سیستمهای نوع غنی در بهبود طراحی واسطه و استفاده از توابع مرتبه بالاتر را درنظر گرفت. مدارس باید برنامهنویسی سیستم و سطح پائین را آموزش دهند.
بنابراین آیا تفاوتی بین برنامهنویسی سیستم و مهندسی نرمافزار وجود دارد؟ پاسخ منفی است اما مشکل اینجاست که مهندسی نرمافزار و برنامهنویسی سطح پائین اغلب اوقات به صورت مجزا تدریس میشوند. با این حال اغلب کلاسهای مهندسی نرمافزار معمولا بر شعار نوشتن واسطهها و تستهای مناسب جاوا متمرکز هستند، به همین دلیل لازم است روش طراحی سیستم با توجه به محدودیتهای زیاد منابع آموزش داده شود.
شاید به این دلیل برنامهنویسی سطح پائین را سیستم مینامند که جذابترین سیستمهای نرمافزاری از نوع سطح پائین هستند (برای مثال، پایگاه دادهها، شبکهها، سیستمهای عامل و...). از آنجا که سیستمهای سطح پائین محدودیتهای زیادی دارند، برای طراحی آنها نیاز به تفکر خلاق است.
در قدم بعدی، برنامهنویس زبان سطح پائین باید به این سؤال پاسخ دهد که کدام ایدههای طراحی سیستم را میتوان برای کار با سختافزار مدرن تطبیق داد. انجمن Rust در این رابطه عملکرد نوآورانهای داشته است، این انجمن چگونگی پیادهسازی اصول برنامهنویسی تابعی یا طراحی نرمافزاری بر مسائل سطح پائین را بررسی میکند (برای مثال مسائلی مثل قراردادها، کنترل خطا یا امنیت حافظه).
به طور خلاصه بهتر است بهجای عبارت برنامهنویسی سیستم از برنامهنویسی سطح پائین استفاده کرد. اهمیت طراحی سیستمهای کامپیوتری به عنوان یک رشته یا زمینه به خاطر نام آن نیست؛ بنابراین جداسازی این دو مفهوم، طراحی زبان برنامهنویسی را شفاف میکند و دیدگاههای مشترکی را نسبت به این دو حوزه به وجود میآورد: چگونه میتوان سیستمی را حول محور ماشین یا برعکس طراحی کرد؟
گزارش سرویس رسانهای CNBC در مورد تبلیغات گوگل بهتازگی منتشر شده است و خبر مهم آن، لغو محدود ممنوعیت تبلیغات ارز رمزنگاری شده است. این رفع محدودیت، به صرافیهای قانونی ارزهای دیجیتال امکان میدهد تا تبلیغات مورد نظر خود را در کشورهای آمریکا و ژاپن از سیستم تبلیغات گوگل خریداری کنند. این لغو محدودیت، از ۹ مهر (ماه آیندهی میلادی) اجرایی میشود.
ممنوعیت تبلیغات ارزهای دیجیتال از فروردین امسال (ماه مارس سال میلادی) اعلام شد. این محدودیت بهخاطر افزایش بیرویهی تبلیغات سکههای دیجیتال (ICO) و دشواری تشخیص کلاهبردارها از فعالان قانونی لحاظ شد. البته گوگل هنوز هم تبلیغات ICO را قبول نخواهد کرد؛ چرا که آنها را روشهایی بدون قانون محکم برای جذب سرمایه میداند. علاوه بر این موارد، تبلیغات کیف پولهای ارزهای رمزنگاری شده و مشاورهی تجارت این ارزها نیز در گوگل ممنوع خواهد ماند.
دلیل رفع محدودیت توسط گوگل هنوز مشخص نیست؛ اما بهنظر میرسد این شرکت به این نتیجه رسیده است که هایپ (HYIP) دروغین پیرامون ارزهای دیجیتال و افزایش ناگهانی قیمت آنها، تقریباً به پایان رسیده است. فیسبوک که اولین محدودیت گسترده در برابر تبلیغات ارزهای دیجیتال را از دی ماه ۱۳۹۶ (ژانویهی ۲۰۱۸) اجرا کرد، در خرداد امسال (ماه ژوئن) محدودیتهای خود را برای برخی تبلیغات این ارزها برداشت.
البته فیسبوک نیز هنوز تبلیغات ICO را ممنوع قلمداد میکند و از شرکتها میخواهد تا قبل از تبلیغات در مورد ارزهای دیجیتال، فرمهای مخصوص آن را پر کرده و فرآیند تأیید را سپری کنند. در نهایت بهنظر میرسد گوگل نیز حاضر به از دست دادن دلارهای باارزش تبلیغات نشده است.
شرکت ارتباطات سیار ایران، به منظور بالا بردن سطح رضایت مشتریان و هواداران پرشمار تیمهای فوتبال و در جهت برقراری ارتباط هرچه بهتر تماشاگران و خبرنگاران حاضر، در آستانهی برگزاری مسابقه بین تیمهای استقلال و پرسپولیس، اپراتور اول با نصب و راه اندازی ۴ سایت جدید، ظرفیت شبکه خود در ورزشگاه صدهزار نفری آزادی را ۳ برابر افزایش داد. همچنین سرویس وایفای همراه اول با نام تجاری «وایفای اول» در جایگاه ویژه راهاندازی شده است.
وزیر ارتباطات و فناوری اطلاعات نیز سهشنبه شب در استوری اینستاگرام خود از این اقدام همراه اول خبر داده بود. دو تیم استقلال و پرسپولیس عصر فردا در چارچوب برگزاری مسابقات لیگ برتر در ورزشگاه آزادی به دیدار هم خواهند رفت.
سیگما رویداد فتوکینا ۲۰۱۸ را بهترین فرصت برای معرفی و نمایش جدیدترین محصولات خود دید. این شرکت نامدار ژاپنی در همین راستا به معرفی پنج عضو جدید خانوادهی لنزهای خود از نمونهی واید تا تلهفوتو، پرداخت.
لنز ۲۸ میلیمتری F1.4 DG HSM Art سیگما
پس از معرفی لنز ۲۸ میلیمتری سونی، اکنون نوبت به سیگما رسیده است لنز پرایم و واید خود را به بازار عرضه کند. از میان مهمترین ویژگیهای لنز واید جدید سیگما، میتوان به مواردی همچون بهبود نمایش پرتوهای نور و انحراف رنگی در کنار کاهش قابل توجه اعوجاج در تصویر اشاره کرد. سیگما از موتور هایپرسونیک مخصوص خود در این لنز بهره برده است تا عملیات فوکوس خودکار (AF) در کمترین زمان ممکن انجام شود. همچنین باید به توانایی مقابله در برابر شرایط مختلف آبوهوایی اشاره کرد تا کاربران بدون نگرانی در شرایط جوی گوناگون قادر به ثبت تصاویر خود باشند. سیگما این لنز را برای مانت دوربینهای DSLR کانن و نیکون و همچنین مانت E دوربینهای بدون آینه سونی عرضه خواهد کرد.
لنز ۴۰ میلیمتری F1.4 DG HSM Art سیگما
دیگر عضو جدید خانوادهی لنزهای سیگما، نمونهی پرایم ۴۰ میلیمتری با F1.4 است. این فاصلهی کانونی که پیشتر تنها در لنز و دوربینهای سینمایی به کار گرفته میشد، اکنون در لنز دوربینهای عکاسی معمولی نیز در دسترس خواهد بود تا کاربران قادر به ضبط محتوایی مشابه نمونههای سینمایی باشند. استفاده از سه المان FLD و SLD برای کاهش حداکثر پراکنش امواج نوری در این لنز باعث شده است تا شاهد کاهش قابل توجه انحراف رنگی باشیم. دریچهی عریض دیافراگم این دوربین نیز، امکان ثبت تصاویری بسیار باکیفیت در شرایط نوری تاریک نیز فراهم میکند. به گفتهی مدیران سیگما، با اعوجاج کمتر از ۱ درصد و حذف تقریبی تمام نقاط نوری ناشی از تفریق نور، لنز ۴۰ میلیمتری جدید این شرکت برای تصویربرداری 8K و ثبت بوکهای فوقالعاده، گزینهی ایدهآلی خواهد بود. این لنز نیز برای مانت دوربینهای DSLR کانن و نیکون و همچنین مانت E دوربینهای بدون آینه سونی عرضه خواهد شد.
لنز ۵۶ میلیمتری F1.4 DC DN Contemporary سیگما
غول دنیای لنز دوربینهای عکاسی و فیلمبرداری، همواره نگاه ویژهای به دوربینهای بدون آینه داشته است و در همین راستا نیز محصولات متنوعی برای مانت E سونی و سیستم میکرو چهارسوم (دوربینهای پاناسونیک و المپوس) عرضه کرده است. لنز ۵۶ میلیمتری جدید این شرکت با بدنهای کوچک، کیفیت تصویر عالی بوکهی فوقالعاده به واسطهی حداکثر گشودگی دیافراگم F1.4، گزینهی ایدهآلی برای کاربران سیستمهای مذکور خواهد بود. سیگما این لنز را به واسطهی سیستم فوکوس خودکار آرام و سریع محصولی بسیار کاربردی برای فیلمبرداری معرفی کرده است. در صورت استفاده از الگوریتمهای تشخیص چهره یا چشم سوژه، لنز ۵۶ میلیمتری سیگما به خوبی قابلیت تعقیب سوژه و انجام فوکوس پیوسته روی آن را دارد.
لنز ۲۰۰-۷۰ میلیمتری F2.8 DG OS HSM Sports سیگما
جدیدترین لنز تلهفوتو سیگما را میتوان یکی از مورد انتظارترین محصولات این شرکت نیز قلمداد کرد. در صورتی که به عکاسی از ژانر ورزشی و حیاتوحش مشغول باشید، از لنزهای سریع با دیافراگم باز بهره بردهاید. سیگما برای این دسته از کاربران، جدیدترین نسخهی لنز محبوب ۲۰۰-۷۰ میلیمتری خود را با بدنهای سبک از آلیاژ منیزیم در کنار قابلیت مقاومت در برابر شرایط آبوهوایی، بروز کرده است. غول ژاپنی دنیای تصویربرداری، از ۱۰ المان با پراکنش حداقل، در ساخت این لنز استفاده کرده است تا تصاویری با جزئیات و وضوح بسیار بالا را از بخش میانی قاب تا کنار آن به ارمغان آورد. بوکهی طبیعی و روان از دیگر قابلیتهای لنز ۲۰۰-۷۰ میلیمتری جدید سیگما است. کاربران دوربینهای سیگما و همچنین DSLR-های کانن و نیکون، به زودی امکان خریداری و بهره بردن از این لنز را خواهند داشت.
لنز ۶۰۰-۶۰ میلیمتری F4.5-6.3 DG OS HSM Sports سیگما
سیگما با تولید لنز ۶۰۰-۶۰ میلیمتری، لقب اولین لنز با زوم اپتیکال ۱۰ برابر و فاصلهی کانونی حداکثری ۶۰۰ میلیمتر را به خود اختصاص داده است. با استفاده از ۲۵ المان در ۱۹ گروه، لنز سوپرتلهفوتو سیگما کیفیت تصویر بسیار خوبی را در تمام بازهی فاصلهی کانونی در اختیار عکاسان قرار میدهد. به گفتهی مدیران سیگما، فناوری لرزشگیر Intelligent OS به کار رفته در این لنز امکان حذف لرزشها را تا ۴ استاپ فراهم میکند که عملکرد بسیار خوبی تلقی میشود. همچنین به واسطهی دقت بالا در طراحی و ساخت عدسیهای آن، پدیدهی اعوجاج و انحراف رنگی به حداقل خود رسیده است. با استفاده از آلیاژ منیزیم در ساخت بدنهی این لنز، عکاسان دیگر نگرانی از بابت کیفیت و طول عمر آن نخواهند داشت. سیگما این لنز را در دسترس کاربران دوربینهای DSLR کانن و نیکون به قیمت ۱۹۹۹ دلار از ماه آیندهی میلادی قرار خواهد داد.
مشهورترین برند تولیدکنندهی قطعات سیستم ترمز برای سوپراسپرتهای معروف جهان، شرکت ایتالیایی برمبو (Brembo) است. احتمالاً بارها نام ترمزهای برمبو در خودروهای پرفرمنس را شنیدهاید و با رنگ قرمز مشهور لنتهای ترمز برمبو، آشنایی دارید؛ برمبو و رنگ قرمز آن را میتوان مانند فراری در خودروسازی دانست.
سرعت، شتاب، قدرت و فرمانپذیری جزو مهمترین جنبههای رانندگی تهاجمی و اسپرت در یک خودرو هستند، اما سیستم ترمز هم علاوه بر نقش غیرقابل انکار در ایمنی، رانندگی لذتبخش را ممکن میکند. مجموعهی برمبو سالها است که با پیبردن به نقش اساسی ترمز در رانندگی، مشغول طراحی و تولید بهترین دیسکها، لنتها و کالیپرهای ترمز جهان است.
محصولات برمبو بهقدری باکیفیت هستند که بسیاری از خودروسازان معتبر جهان، تنها از ترمزهای این برند در خودروهای جادهای و مسابقهای خود استفاده میکنند. شاید برای پی بردن به سطح بالای ترمزهای برمبو همین کافی باشد که خودروی فرمول یک فراری، به ترمز ساخت این شرکت مجهز است. در این مقاله قصد داریم تا نگاهی به روند تولید ترمزهای برمبو داشته باشیم.
مواد خام تا برمبو؛ آهنگری تا مهندسی
اولین قدم در تولید ترمزهای برمبو، حرارت چدن خام تا دمای ۱۱۵۰ درجهی سانتیگراد است؛ پس از این، با توجه به سفارش خودروسازان و اندازههای مختلف برای خودروهای متنوع، دیسکهای مشخص با تنظیمات سفارشی بهخط تولید وارد میشوند. در کنار شکلگیری دیسک، رنگآمیری و مهندسی کالیپرهای آلومینیومی مختلف بر اساس درخواست خودروسازان نیز انجام میشود. خط تولید تمام قطعات سیستمهای ترمز برمبو، کاملاً اتوماسیون و با نظارت چند متخصص فعالیت میکند.
آزمایش ترمز در شرایط واقعی و آزمایشگاهی
مقالهی مرتبط:
پس از تولید دیسک و کالیپر، تمام قطعات ابتدا در شرایط آزمایشگاهی و فراتر از آستانهی تحمل، تست میشوند. قطعات بهصورت جاگانه یا یک سیستم ترمز کامل آزمایش میشوند تا مقاومت ترمز در شرایط مختلف بررسی شود. پس از تست آزمایشگاهی، متخصصان برمبو در کنار رانندگان باتجربه و انواع سنسورها، ترمز نصب شده در خودروهای مختلف را در جادههای عمومی آزمایش میکنند. در این مرحله معمولاً خودروها بهصورت رسمی رونمایی نشدهاند، بنابراین پوشش استتار هر شرکت روی بدنهی خودرو نقش میبندد.
ترمز سرامیک کربن، نهایت کیفیت برمبو
متخصصان برای خودروهای قدرتمند، سوپراسپرت و هایپرکار بهترین محصول خود، ترمزهای سرامیک کربن را پیشنهاد میدهند. موادی چون فیبرکربن، سیلیکن و چند مواد خام که جزو فرمول محرمانهی برمبو است، در یک قالب آلومینیومی که باتوجه به سفارش مشخص خودروساز اندازههای مختلفی دارند، ترکیب و سپس با حرارت فشرده میشوند. پس از قالبگیری، بهصورت اتوماسیون هر دیسک صاف و اندازهی دقیق آن کنترل میشود تا مرحلهی ایجاد سوراخهای هوارسانی انجام شود. دو مرحلهی حرارتدهی دیگر با نظارت تکنسینها و بررسی دقیق کامپیوتری لازم است تا مونتاژ نهایی ترمز، آغاز شود.
تمام این موارد و مراحل که بهصورت خلاصه به آن اشاره شد، برای تضمین بهترین ترمزگیری، ایمنی حداکثر و حس رانندگی بهتر انجام میشود. برمبو همچنان یک شرکت ایتالیایی در حاشیهی شهر میلان است، اما شهرت آن در سطح جهان هر روز بیشتر میشود.
وزارت کار بهمنظور افزایش مهارت فارغالتحصیلان دانشگاهی و اشتغال جوانان در بنگاههای اقتصادی، طرح کارورزی دانشآموختگان دانشگاهی را بهعنوان بخشی از برنامههای دولت در سیاستگذاری جدید ایجاد شغل اعلام کرده است.
به گزارش تسنیم، طرح کارورزی دانشآموختگان دانشگاهی یک دورهی آموزشی بوده و از برنامههای دولت در راستای تولید و اشتغال است. دورهی کارورزی بر اساس استاندارهای مصوب آموزش مهارتی، تعیین میشود که برای هر داوطلب حداقل ۶ ماه و حداکثر ۱۲ ماه (بهطور متوسط پنج ماه) است. همچنین کارورزان پذیرفتهشده در طرح، بهصورت ماهیانه، ۳۰ درصد حداقل دستمزد (۳۳۴ هزار تومان) بهعنوان کمک هزینه دریافت میکنند.
این طرح ۱۰۰ هزار دانشآموختهی دانشگاهی بیکار، فاقد بیمه و سابقهی کار را هدف قرار میدهد و دولت همچنین به ازای هر کارورز مبلغ ۵۰ هزار تومان بهمنظور تأمین بیمهی مسئولیت مدنی در سال پرداخت میکند.
طرح کارورزی دانشآموختگان دانشگاهی باعث افزایش روحیه و انگیزهی کارآفرینی در جوانان شده و سطح مهارت و تجربهی آنها در محیط کار را افزایش میدهد که درنهایت با انتقال مهارت و تجربههای این افراد به محیط کسبوکار، سرمایهی انسانی تقویت خواهد شد.
وزارت کار، تعداد ۷۰ هزار نفر دانشآموختهی دانشگاهی را برای دورهی کارورزی سال ۹۷ تخمین زده است. رشتههای تحصیلی علوم تربیتی، علوم انسانی و هنر، علوم اجتماعی، علوم ریاضیات و محاسبات، بازرگانی و حقوق، مهندسی تولید و ساخت، کشاورزی و دامپزشکی، بهداشت و رفاه و خدمات گروههای عمده برای اجرای این طرح هستند. گروههای عمدهی رشتهی تحصیلی و گروههای عمدهی فعالیت در جداول زیر عنوان شده است.
.: Weblog Themes By Pichak :.