سئوالاتی درباره ی سیستم عامل

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلام
این تاپیک را برای سئوال درباره ی سیستم عامل زدم .

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

خیلی ممنون .
 

the_king

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

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
نه، نظر خاصی ندارم. در مسائل تجاری تصمیم گیری روال خیلی پیچیده ای داره، منافع تجاری و نوع شراکت و اصول رقابت و بحث تبانی و ...
شما بهترین سخت افزار و نرم افزار دنیا رو بسازید، اگر شرکت های نرم افزاری و سخت افزاری که باید برای پلتفرم شما محصول بسازند منفعت رو در کار با سایر رقبا ببینند کاری از پیش نمی برید.
تاریخچه جنگ Betamax و VHS رو جستجو کنید و بخونید و مشخصات فنی شون رو مقایسه کنید و داوری کنید. رقابت در بازار دو دو تا چهار تا ساده ای نیست.

خیلی ممنون استاد .
بله . متوجه ی منظورتون هستم .
اما در نظر بگیرید که خیلی از شرکت ها ، وقتی حتی خیلی ضعیف تر از شرکت رقیب شون بودن ، باز ، تولید محصولات خودشون را قطع نکردن و ناامید نشدن و به کارشون ادامه دادن و گاها در سال های بعد ، با تحول اساسی ، از رقیب شون جلو زدن .
نمونه اش شرکت AMD که حدود 10 سال بود از رقیب اینتل اش مخصوصا در اواخر ، بسیار عقب افتاده بود (جوری که بیش از 70 درصد و فکر کنم احتمالا 80 درصد از پردازنده های بازار ، دست اینتل بود) اما سال 2016 ، شرکت AMD با تولید پردازنده های رایزن ، تا حالا ورق را کاملا برگردوند .
اگه AMD توی اون 10 سالی ناامید میشد و پیگیری و تولید cpu هاش را قطع میکرد و فقط به تولید پردازنده های گرافیکی اش تمرکز میکرد ، دیگه این موفقیت اش در پردازنده های رایزن ، وجود نداشت .

اما مایکروسافت ، کاملا پشتیبانی و تولید windows 10 mobile اش را قطع کرد .
حتی خیلی از شرکت ها بودن که چندین سال بعد از شرکت های دیگه ای که کاملا در زمینه ای قدرتمند عمل کردن ، تازه شرکت تاسیس کردن و تونستن بعد از سال ها ، شرکت رقیب شون را با چاالش بسیار جدی مواجه کنن . نمونه اش را شاید بشه شرکت maxon (نرم افزار cinema 4d) در برابر شرکت autodesk (نرم افزار 3ds max) یاد کرد . تا 10 سال پیش ، cinema 4d بسیار ضعیف تر از حالا بود اما الان چالش جدی برای 3ds max محسوب میشه .
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
استاد سلام .
گفتم این تیکه را که مربوط به سیستم عامل هست را اینجا مطرح کنم .

اخیرا شنیدم که مایکروسافت میخواد سیستم عاملی بنام windows core بزنه که انگار قراره همه ی ویندوزها در همه ی دستگاه ها (مثل pc و کنسول و ...) را یکپارچه کنه . البته windows 10 هم الان همین ویژگی را داره اما فرقش با ویندوز 10 چیه را نمیدونم؟
ای کاش بجای طراحی سیستم عامل یکپارچه ی windows core که همین الان ویندوز 10 هم این ویژگی را داره ، یه فکری به حال سیستم عامل قدرتمند و قابل رقابت با اندروید را میکرد .


به نظر شما windows core ، سیستم عاملِ اندروید را هم هدف قرار داده و میتونه جایگزینش بشه؟
چون اگه نتونه با اندروید رقابت کنه ، طراحی این سیستم عامل جدید ، عملا تاثیر چندانی نداره . چون همین الان ویندوز 10 هم شبیه این قابلیت را داره (نمیدونم فرقش با ویندوز 10 چیه) .

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

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلامی مجدد استاد .

استاد ، روی سیستم عامل آینده (windows core os) و همچنین پلتفرم آینده برای توسعه و برنامه نویسی (uwp) فکر کردم .
البته اینی که میگم ، واسه ی تصمیمات آینده مه نه الان .
نمیدونم windows core os ، سیستم عامل قدرتمند و رقیب اندروید خواهد شد یا نه . اگه بشه ، که قطعا خیلی چیزها را به نفع مایکروسافت و برنامه نویسان سی شارپ تغییر میده . در این صورت ، بهترین پلتفرم برای توسعه در سیستم عامل windows core os ، پلتفرم uwp خواهد بود . درسته؟
خود سایت مایکروسافت میگه همچین برنامه ای برای رقابت داره (رقابت windows core os و اندروید) :


بعد اینکه پلتفرم uwp ، انگار یه پلتفرم دیگه بنام Uno Platform داره که وابسته به uwp هست و میشه تقریبا تحت همه ی سیستم عامل (اندروید و لینوکس و ...) در سی شارپ برنامه نوشت . درسته؟ :


و


بازم دقیق نمیدونم این پلتفرم Uno چیه .
اگه این طوره ، تفاوت نوشتن برنامه ی اندروید در پلتفرم Uno و xamarin.android چیه؟
اگه قدرتی که ارائه کنن ، در نوشتن برنامه ی اندرویدی ، مثل هم باشه که پلتفرم Uno بهتره .
همینطور اینکه علاوه بر اینها ، uwp از زبان C++ Native (که همون C++/CX هست) پشتیبانی میکنه . بنابراین تحت این پلتفرم ، حتی درایورهایی برای ویندوز 10را میشه نوشت . درسته؟


میخوام یه نتیجه گیری درست کنم که مثلا اگه کوچ کردم به uwp ، چند سال دیگه (مثلا 5 یا 10 سال دیگه) ، شکست خورده نشه و این باعث نشه که من الکی وقتم رو هدر داده باشم و الکی چند سال روش وقت بذارم بدون اینکه هیچ کارایی ای برام داشته باشه .
اصلا هم مهم نیست که در اوایل (مثلا در 3 سالِ اول) از ارائه ی اون سیستم عامل و پلتفرم ، اون سیستم عامل بگیره یا نه . معلومه که جا افتادنش نیاز به سال ها زمان داره . منظورم اینه که در طولانی مدت (حتی یک دهه) ، بتونه نسبت به رقیبش جا بیفته .

---------------------------------------------------------

همچنین نمیدونم اصلا آیا به سمت یادگیری برنامه نویسی وب برم یا سمت یادگیری برنامه نویسی موبایل (یا uwp) .
میدونم ربطی به هم ندارن اما درباره ی مفاهیم شبکه و اینها هیچ چی بلد نیستم . انگار هم خیلی مباحث برای یادگیری نیازمنده . از css گرفته تا جاوا اسکریپت و فریم وورک های مربوط به جاوا اسکریپت و بعد تازه asp .net core و ... .
ولی چون برنامه هایی که تا به حال کار کردم ، تحت ویندوز و آفلاین بوده ، به نظرم برنامه نویسی موبایل را راحت تر یاد بگیرم .
نظر شما چیه استاد؟ البته قبلا نظرتون را گفتین اما بازم برام کافی نبود :) نیاز به تامل و مشورت بیشتر دارم .

همچنین اگه سمت برنامه نویسی موبایل برم (در این صورت ، برنامه ی اندروید یا مخصوصا در صورتی که windows core os بتونه جا بیفته ، برنامه نویسی تحت این سیستم عامل مد نظرمه) ، سمت xamarin.android برم یا تحت uwp (همچنین بخش uno اش) ؟

توی اون انجمن هم مطرح میکنم استاد ، ببینم نظرات بقیه در این رابطه چجوری هه.

تشکر استاد :rose:
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
و البته استاد با توجه به این نکته ی مهم که مایکروسافت از 4 سال پیش که دات Net Core (همون .Net در نسخه های بعد) را بوجود آورد ، شدیدا داره پشتیبانی اش میکنه جوری که تقریبا هر سال ، یه نسخه ی جدیدی ازش میده و تا سال 2024 هم قراره تا نسخه ی 8 ازش را بده .
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
استاد ، یه نظری میدین؟
نیاز به مشورت بیشتر دارم .
تشکر :rose:
 

the_king

مدیرکل انجمن
استاد ، یه نظری میدین؟
نیاز به مشورت بیشتر دارم .
تشکر :rose:
اینکه در آینده چی میشه رو باید از مرحوم نوستراداموس بپرسید.
با کسی مشورت کنید که نظرش براتون قابل قبول باشه، نه من که استدلال های بدیهی اش رو هم قبول ندارید.
اینکه علم نرم افزار دائم در حال تغییر ئه و تکنولوژی های نرم افزاری ذاتا پویا هستند رو قبول ندارید؟
اگر قبول دارید دنبال پلتفرمی که قطعی تا ده سال دیگه منسوخ نشه نمی گشتید.
اینکه موفقیت شما به پلتفرمی که انتخاب کرده اید ربطی نداره رو قبول ندارید. خیال می کنید اگر پلتفرم X قابلیت های بیشتری داشته باشه یا در آینده رو بورس باشه پس شما هم با انتخابش برنامه نویس موفقی می شوید یا بازار رو تصاحب می کنید، در حالی که ابدا اینطور نیست.
در هر پلتفرمی همه جوره برنامه نویسی هست، موفق و ناموفق، حرفه ای و مبتدی، مسلط و ناشی. با پلتفرم هایی که منسوخ شده هم ممکنه موفق باشید و بازار داشته باشید.

WinRAR با ++C نوشته شده، یک زبان سی و چند ساله، با یک پلتفرم خیلی قدیمی. فکر می کنید اگر برنامه نویسی با ++C تحت ++Microsoft Visual C رو یاد بگیرید، می توانید نرم افزار موفقی مثل WinRAR رو طراحی کنید؟ نه، چون WinRAR بخاطر الگوریتم های برنامه نویسی بهینه اش، معلومات ریاضی و توانایی فنی طراحانش اش WinRAR شده، نه اینکه برنامه نویسی با ++Visual C یا Windows Forms دلیل موفقیت بوده.
Cheat Engine با Object Pascal نوشته شده، یک زبان سی و چند ساله که رو بورس هم نیست، موفق ئه چون طراحانش معلومات فنی زیادی داشته اند.
CPU-Z و Ace Utilities و Perfect Mask با Visual C++ 2008 نوشته شدن.
Spybot - Search & Destroy و High-Logic FontCreator با Borland Delphi 2014 نوشته شدن.
Paint.NET با #C و ++C و C++/CLI نوشته شده.
ّFirefox با Javascript و ++C نوشته شده.
فکر می کنید هر کدوم از این نرم افزار ها بخاطر پلتفرم شون موفق بودن؟ یا می توانید مشابه شون رو بنویسید؟

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

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

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

اگر فکر می کنید که انتخاب پلتفرم X شما رو یک برنامه نویس موفق می کنه و انتخاب پلتفرم Y شما رو یک برنامه نویس ناموفق، سخت در اشتباهید.
یادگرفتن هیچ تکنولوژی ای هم به این معنا نیست که در طراحی نرم افزار دانش کافی رو بدست آورده اید. دانش برنامه نویسی شما در یادگیری پلتفرم که خلاصه نمیشه. در مورد "مهندسی نرم افزار" جستجو کنید و ببینید چقدر دامنه مباحث گسترده ای داره. اینکه برنامه نویسی در پلتفرم P کار می کنه نه نشون میده برنامه نویس مسلط و با استعداد و موفقی است، نه ناشی و بی استعداد و ناموفق.

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

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
اینکه در آینده چی میشه رو باید از مرحوم نوستراداموس بپرسید.
با کسی مشورت کنید که نظرش براتون قابل قبول باشه، نه من که استدلال های بدیهی اش رو هم قبول ندارید.

خیلی ممنون استاد از جواب مفصل تون :rose:

این چه حرفی هه استاد. نظر شما کِی برام اهمیت نداشت که این دفعه ی دومش باشه؟!!

اگه این طور بود ، قطعا از شما سئوال نمیپرسیدم یا منتظر جواب شما نبودم که هیچ وقت این طور نبوده .

نه تنها این طور نبوده ، بلکه بین تمام برنامه نویس هایی که میشناسم ، هیچ کس در نظرم مثل شما علم و آگاهی و پختگیِ علوم برنامه نویسی را (حداقل تا حالا) نداشته .

هر چند ممکنه جاهایی نظر شخصی خودم را داشته باشم حتی شاید ندونم اون نظرم اشتباست .

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

WinRAR با ++C نوشته شده، یک زبان سی و چند ساله، با یک پلتفرم خیلی قدیمی. فکر می کنید اگر برنامه نویسی با ++C تحت ++Microsoft Visual C رو یاد بگیرید، می توانید نرم افزار موفقی مثل WinRAR رو طراحی کنید؟ نه، چون WinRAR بخاطر الگوریتم های برنامه نویسی بهینه اش، معلومات ریاضی و توانایی فنی طراحانش اش WinRAR شده، نه اینکه برنامه نویسی با ++Visual C یا Windows Forms دلیل موفقیت بوده.
Cheat Engine با Object Pascal نوشته شده، یک زبان سی و چند ساله که رو بورس هم نیست، موفق ئه چون طراحانش معلومات فنی زیادی داشته اند.
CPU-Z و Ace Utilities و Perfect Mask با Visual C++ 2008 نوشته شدن.
Spybot - Search & Destroy و High-Logic FontCreator با Borland Delphi 2014 نوشته شدن.
Paint.NET با #C و ++C و C++/CLI نوشته شده.
ّFirefox با Javascript و ++C نوشته شده.
فکر می کنید هر کدوم از این نرم افزار ها بخاطر پلتفرم شون موفق بودن؟ یا می توانید مشابه شون رو بنویسید؟

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

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

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

اگر فکر می کنید که انتخاب پلتفرم X شما رو یک برنامه نویس موفق می کنه و انتخاب پلتفرم Y شما رو یک برنامه نویس ناموفق، سخت در اشتباهید.
یادگرفتن هیچ تکنولوژی ای هم به این معنا نیست که در طراحی نرم افزار دانش کافی رو بدست آورده اید. دانش برنامه نویسی شما در یادگیری پلتفرم که خلاصه نمیشه. در مورد "مهندسی نرم افزار" جستجو کنید و ببینید چقدر دامنه مباحث گسترده ای داره. اینکه برنامه نویسی در پلتفرم P کار می کنه نه نشون میده برنامه نویس مسلط و با استعداد و موفقی است، نه ناشی و بی استعداد و ناموفق.

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

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

البته صرفا هم فقط روی پلتفرم سئوالم نبود . سئوالم ، چند وجه داشت که یکیش ، پلتفرم بود .

یکی دیگه اش ، سیستم عامل windows core os بود . چون میدونین که سیستم عامل ، چون یه چیز استراتژیک هست ، اگه قرار باشه روی بورس بیفته و رقیبِ سیستم عتملِ دیگه بشه ، سال ها طول میکشه و از اون طرف هم تا بخواد دوره ی زوال اش طِی بشه ، باز هم سال ها طول میکشه .

درباره ی پلتفرم هم حرف تون کاملا درسته . اما مثلا برای کسی مثل من که نه با xamarin.android کار کرده و نه با uno platform و uwp ، اگه مثلا بدونم uno ، همون چیزهایی که xamarin.android ارائه میکنه را هم ارائه میده و همون قدرت را داره و قابلیت هاش بیشتره ، خوب وقتم را مستقبما صرف uno میکنم و دیگه با xamarin.android کار نمیکنم تا وقتم واسه ی xamarin.android ای که ضعیف تر هست ، گرفته بشه .

البته من هنوز نمیدونم این uno دقیقا چیه و آیا همون کارهایی که با xamarin.android میشه انجام داد را با uno هم میشه انجام داد یا نه؟

و باز هم البته میدونم که هر پلتفرمی ، مزیت ها و معایبی داره که برای یه کاری ایتفاده میشه .

تشکر استاد :rose:
 

the_king

مدیرکل انجمن
درباره ی پلتفرم هم حرف تون کاملا درسته . اما مثلا برای کسی مثل من که نه با xamarin.android کار کرده و نه با uno platform و uwp ، اگه مثلا بدونم uno ، همون چیزهایی که xamarin.android ارائه میکنه را هم ارائه میده و همون قدرت را داره و قابلیت هاش بیشتره ، خوب وقتم را مستقبما صرف uno میکنم و دیگه با xamarin.android کار نمیکنم تا وقتم واسه ی xamarin.android ای که ضعیف تر هست ، گرفته بشه .
قدرت در پلتفرم نیست، پلتفرم قوی یا ضعیف نداریم. پلتفرم ابزار کار برنامه نویس ئه. بیل قوی تر ئه یا اره یا پیچ گوشتی؟
اینکه بدونید فلان پلتفرم قابلیت های بیشتری داره هیچ کمکی به شما نخواهد کرد، این معیارتون بدرد انتخاب پلتفرم نمیخوره.
فرض کنید دو سال وقت صرف یادگیری پلتفرم X کردید فقط به این خاطر که قابلیت های بیشتری داره. که چی؟ بعدش تازه میخواهید به این فکر کنید که شخصا توانایی طراحی چه نرم افزاری رو دارید؟ که ببینید از سایر پلتفرم ها هم به همون اندازه بهره می گرفتید، نه بیشتر؟ اغلب نرم افزار های تجاری رو در هر پلتفرمی میشه پیاده سازی کرد، کاربرد های منحصر بفرد هم که نیاز به پلتفرم های خاصی داره فقط با دانش فنی مربوطه میشه طراحی کرد که اونم فقط برخی افراد دارند، اکثریت حتی یادگیری اش براشون دشوار ئه. مثلا ++Visual C رو خیلی برنامه نویسان بکار می برند اما فقط تک و توک برنامه نویسانی پیدا میشن که توانایی طراحی نرم افزار سیستمی رو دارند، قابلیت های منحصر بفرد پلتفرم به درد بقیه برنامه نویسان که اکثریت هستند نمیخوره، بود و نبودش فرقی بحال شون نمی کنه.

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

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
قدرت در پلتفرم نیست، پلتفرم قوی یا ضعیف نداریم. پلتفرم ابزار کار برنامه نویس ئه. بیل قوی تر ئه یا اره یا پیچ گوشتی؟
اینکه بدونید فلان پلتفرم قابلیت های بیشتری داره هیچ کمکی به شما نخواهد کرد، این معیارتون بدرد انتخاب پلتفرم نمیخوره.
فرض کنید دو سال وقت صرف یادگیری پلتفرم X کردید فقط به این خاطر که قابلیت های بیشتری داره. که چی؟

سلامی مجدد
خیلی ممنون استاد :rose:
بله . من فکر میکردم تفاوت انتخاب پلتفرم ها ، شاید مثل تفاوت و اختلاف پلتفرم winform با wpf باشه . یعنی یه قابلیت های خیلی بیشتری (حالا چه در کار گرافیکی یا حتی کارهای دیگه) را بهمون ارائه بده .

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

که بیشترین کارایی را در این زمینه ، انگار uno platform برای اشتراک گذاری کدها در سیستم عامل ها و پلتفرم های مختلف ، به اشتراک میذاره (و بعدش uwp) .
اما مد نظرم این ها نیست و کدنویسی برای چند پلتفرم بصورت همزمان ، ملاکم نیست (حداقل ، ملاک اول و مهمی برام نیست) . برام بیشتر ، قدرت و قابلیت هایی که اون پلتفرم در اختیار ما میذاره ، مهم هه .

بنابراین برنامه نویسی موبایل را در پلتفرم Xamarin.Android انتخاب کردم (هنوز قطعیِ کامل نشد) .
چون اندروید هم مثل ویندوز ، آفلاین میشه کدهاش را تست و اجرا کرد و هم چون مثل ویندوز ، یه سیستم عامل هست و با برنامه نویسی ویندوز هم کار کردم ، فکر کنم وجه مشترک های بیشتری نسبت به برنامه نویسی وب داشته باشه .
علاوه بر این ، اگه سیستم عامل windows core os هم بتونه رقیب اندروید بشه ، دیگه طراحی اش چندان دور از معماری ویندوز و اندروید نیست .

بعد اینکه مثلا من در اندروید ، اپلیکیشن ای نوشتم . حالا کجا بفروشم؟
چون توی google play و این بازارها ، تقریبا همه ی نرم افزارها ، رایگان هستند دیگه . درسته؟
پس روش پول درآوردن از برنامه نویسی اندروید ، چجوری هه؟

بعدش تازه میخواهید به این فکر کنید که شخصا توانایی طراحی چه نرم افزاری رو دارید؟ که ببینید از سایر پلتفرم ها هم به همون اندازه بهره می گرفتید، نه بیشتر؟ اغلب نرم افزار های تجاری رو در هر پلتفرمی میشه پیاده سازی کرد، کاربرد های منحصر بفرد هم که نیاز به پلتفرم های خاصی داره فقط با دانش فنی مربوطه میشه طراحی کرد که اونم فقط برخی افراد دارند، اکثریت حتی یادگیری اش براشون دشوار ئه. مثلا ++Visual C رو خیلی برنامه نویسان بکار می برند اما فقط تک و توک برنامه نویسانی پیدا میشن که توانایی طراحی نرم افزار سیستمی رو دارند، قابلیت های منحصر بفرد پلتفرم به درد بقیه برنامه نویسان که اکثریت هستند نمیخوره، بود و نبودش فرقی بحال شون نمی کنه.

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

خیلی ممنون استاد :rose:
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
خیلی ممنون استاد .
استاد ، میگم قدرت هوش مصنوعی در سیستم عامل یا موتور جستجو یا هر چیز دیگه را از چه مولفه هایی میشه شناخت؟

الان مثلا قابلیت dicting در ویندوز که گفتار را به متن تبدیل میکنه ، اولا زبان فارسی را پشتیبانی نمیکنه و دوما گفتنی هه که دقیق عمل نمیکنه (یعنی اشتباه هایی هم داره) (البته من استفاده نکردم ، از بازخورد بقیه میگم) .
اما گوگل ، حتی توی زبان فارسی هم دقت تشخیص کلماتش خیلی خوبه .
همچنین موتور جستجوی گوگل هم بهتر از مایکروسافت هست (در اینجا ، منظورم تبدیل گفتار به متن نیست . کلا موتور جستجو را میگم) .
الان میشه از اینها نتیجه گرفت که قابلیت هوش مصنوعی در ویندوز و کلا مایکروسافت ، از گوگل ضعیف تر هست؟

اگه نه ، پس مولفه های تشخیص در هوش مصنوعی ، چیه؟
اگه آره ، آیا مایکروسافت برای آینده ، برنامه ای برای جهش در هوش مصنوعی نداره تا به گوگل برسه؟
تشکر
 

the_king

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

الان مثلا قابلیت dicting در ویندوز که گفتار را به متن تبدیل میکنه ، اولا زبان فارسی را پشتیبانی نمیکنه و دوما گفتنی هه که دقیق عمل نمیکنه (یعنی اشتباه هایی هم داره) (البته من استفاده نکردم ، از بازخورد بقیه میگم) .
اما گوگل ، حتی توی زبان فارسی هم دقت تشخیص کلماتش خیلی خوبه .
همچنین موتور جستجوی گوگل هم بهتر از مایکروسافت هست (در اینجا ، منظورم تبدیل گفتار به متن نیست . کلا موتور جستجو را میگم) .
الان میشه از اینها نتیجه گرفت که قابلیت هوش مصنوعی در ویندوز و کلا مایکروسافت ، از گوگل ضعیف تر هست؟
نه. اون چیزی که ضعیفترش می کنه الزاما قابلیت اش نیست، داده شه، این هوش مصنوعی ها بر اساس یادگیری ماشین کار می کنند، داده بیشتر ئه که تقویت شون می کنه. نرم افزار باید از داده های جدید منطق استخراج کنه، یاد بگیره، خودش رو تقویت کنه. ممکنه شما بهترین و هوشمندانه ترین الگوریتم رو داشته باشید اما ماشینی که الان کدش نوشته شده چیز زیادی نمیدونه. باید داده بگیره و تحلیل کنه تا یادبگیره. مادامی که داده به اندازه کافی در اختیارش نباشه و یادگیری ماشین اش ناقص باشه هوش خوبی نخواهد داشت. گستردگی منابع داده و سابقه بیشتر باعث میشه که یادگیری یک ماشین نسبت به ماشین دیگری تقویت بشه، ممکنه الگوریتمش به اون خوبی نباشه اما بیشتر یاد گرفته باشه، معلوماتش بیشتر باشه.
اگه آره ، آیا مایکروسافت برای آینده ، برنامه ای برای جهش در هوش مصنوعی نداره تا به گوگل برسه؟
با سخنگوی مایکروسافت که مصاحبه نمی کنید. من باید بر چه اساسی برنامه های آتی مایکروسافت رو مشخص کنم؟
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلامی مجدد
خیلی ممنون استاد .
استاد نسخه ی نهایی ویژال استودیو 2022 امروز اومد .

یه چیزی که قبلا هم صحبت کرده بودیم ، مقایسه ی Visual Studio و Rider بود .
من هر چی مقاله درباره ی خصوصیات این دو رو خوندم ، اغلب شون ، فرضا 40 درصد که خوبی های Visual Studio را میگفتن ، 60 درصد خوبی های Rider را میگفتن و اغلب شون ، امتیاز کلیِ بیشتر را به Rider میدادن .

اون موقع درباره ی توسعه ی نرم افزارهای شخص ثالث صحبت میکردین (مثلا Rider به نسبتِ Visual Studio یا Xamarin به نسبتِ Android Studio) ، اما اینها اغلب میگن که Rider ، ویژال استودیو را بسیار در تنگنای شدیدی قرار میده و در بعضی از ویژگی ها هم ازش بهتره اما پس چرا Xamarin نمیتونه همین عملکرد را نسبت به Android Studio داشته باشه؟!

اگه یه نگاه استراتژیک و بلند مدت (فرضا ده تا 20 سال گذشته) به شرکت مایکروسافت بندازیم ، به نظر میاد مایکروسافت سرعت پیشرفتش بسیار کند شده و خیلی از شرکت های حوزه ی فناوری اش ، ازش شدیدا جلو افتادن . یکی از مهمترین شون شرکت گوگل هست .

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

الان شما میزان تغییرات و درآمدهای گوگل را ببینید از سال 2008 و مخصوصا در ده سال اخیر که اندروید را ارائه کرد ، چه تغییر بسیار چشمگیری کرد .
یا AMD ای که ده سال بود که تقریبا داشت نابود میشد ، با تغییر مدیرش ، کاملا ورق را 180 درجه توسط پردازنده های Ryzen برگردوند . البته میدونم که قبلش چندین سال در حال تحقیق و توسعه بودن . ولی مدیر خوب ، خیلی تاثیر گذاره .

تشکر
 

SajjadKhati

کاربر فعال <A href="http://forum.majidonline.com/f
سلامی مجدد
خیلی ممنون استاد .
استاد نسخه ی نهایی ویژال استودیو 2022 امروز اومد .

یه چیزی که قبلا هم صحبت کرده بودیم ، مقایسه ی Visual Studio و Rider بود .
من هر چی مقاله درباره ی خصوصیات این دو رو خوندم ، اغلب شون ، فرضا 40 درصد که خوبی های Visual Studio را میگفتن ، 60 درصد خوبی های Rider را میگفتن و اغلب شون ، امتیاز کلیِ بیشتر را به Rider میدادن .

اون موقع درباره ی توسعه ی نرم افزارهای شخص ثالث صحبت میکردین (مثلا Rider به نسبتِ Visual Studio یا Xamarin به نسبتِ Android Studio) ، اما اینها اغلب میگن که Rider ، ویژال استودیو را بسیار در تنگنای شدیدی قرار میده و در بعضی از ویژگی ها هم ازش بهتره اما پس چرا Xamarin نمیتونه همین عملکرد را نسبت به Android Studio داشته باشه؟!

اگه یه نگاه استراتژیک و بلند مدت (فرضا ده تا 20 سال گذشته) به شرکت مایکروسافت بندازیم ، به نظر میاد مایکروسافت سرعت پیشرفتش بسیار کند شده و خیلی از شرکت های حوزه ی فناوری اش ، ازش شدیدا جلو افتادن . یکی از مهمترین شون شرکت گوگل هست .

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

الان شما میزان تغییرات و درآمدهای گوگل را ببینید از سال 2008 و مخصوصا در ده سال اخیر که اندروید را ارائه کرد ، چه تغییر بسیار چشمگیری کرد .
یا AMD ای که ده سال بود که تقریبا داشت نابود میشد ، با تغییر مدیرش ، کاملا ورق را 180 درجه توسط پردازنده های Ryzen برگردوند . البته میدونم که قبلش چندین سال در حال تحقیق و توسعه بودن . ولی مدیر خوب ، خیلی تاثیر گذاره .

تشکر

سلامی مجدد
استاد ، من تازه به این نکته توجه کردم که یکی از دلایل اصلیِ این (فرضا مقایسه ی Rider و Visual Studio) چیه .

چون خیلی از کارها را تیم Visual Studio و حتی ویندوز انجام میدن و کتابخونه ها و sdk ها را در اختیار عموم قرار میدن و حالا اون شرکت شخص ثالث (فرضا اون Rider) میاد فقط از اونها استفاده میکنه .
با این کار ، اون شرکت شخص ثالث که برای توسعه ی قابلیت های جدید وقت نمیذاره (بجاش ، مایکروسافت وقت میذاره) . بنابراین اون شرکت شخص ثالث ، کاملا فرصتِ بهتری پیدا میکنه تا فقط روی قابلیت های IDE اش ، زمان صرف کنه و مانور بده .

فرضا ، مایکروسافت میاد نسخه های Net . های جدید (که آخریش 6 هست) را توسعه میده . اون شرکت ، بعد از آماده شدن ، فقط استفاده میکنه .
یا مایکروسافت میاد قابلیت Hot Reload را در xaml و #C میذاره . اون شرکت ، بعد از آماده شدن ، از Visual Studio SDK اش استفاده میکنه .
و ... .

واسه ی همین ، فرصت بیشتری داره تا به بقیه ی قابلیت های IDE اش بپردازه .
درست میگم؟

البته باز هم برام جای سئوال هست که پس چرا Xamarin.Android ئه مایکروسافت در Visual Studio اش ، با Android Studio ئه گوگل ، فاصله داره (توی مقالات ، انگار تفاوت قابل توجهی برای این دو میگن هست) .
چون کتابخونه ها و sdk هایی که گوگل برای Android میسازه را ، مایکروسافت صرفا استفاده کننده اش میشه و فرصت بیشتری داره که به محیط توسعه ی Xamarin.Android در Visual Studio بپردازه .
تشکر .
 

جدیدترین ارسال ها

بالا