ورود

View Full Version : مشخصات یک پوسته سیستم عامل بومی ؟



بابک.م.
جمعه 13 فروردین 1395, 17:57 عصر
با سلام و تبریک سال جدید و آرزوی سالی همراه با موفقیت.
اگر سوال تکراری است عذرخواهی می کنم.

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

اگر پاسخ مثبت است مشخصات یک پوسته سیستم عامل بومی چیست؟

بابک.م.
سه شنبه 17 فروردین 1395, 16:08 عصر
تقویم شمسی، رابط کاربری راست به چپ، راهنمای فارسی برای فرامین سیستم عامل و رابط کاربری، رفع مشکلات تایپ فارسی (تایپ حروف فارسی و علائم همچنان در ویندور با مشکل روبروست)

در سال های گذشته برای DOS تعداد زیادی نرم افزار فارسی طراحی شد که فکر می کنم قابلیت های خاصی برای کاربران فارسی زبان داشتند که مستند سازی آنها مفید است.

pswin.pooya
پنج شنبه 19 فروردین 1395, 06:56 صبح
دوست من ایده ساخت پوسته ملی برای یه سیستم عامل هرچند می تونه جذاب باشه اما کار بیهوده ای هست. توی این راه چند تا مشکل هست:

1. تعداد کلمات فارسی بسیار کمتر از انگلیسی هست و شما هیچ وقت نمی تونید یه ترجمه دقیق رو ارائه بدید که واقعا شبیه متن اصلی باشه (یا حداقل این کار سختی هست)
2. از نظر ساختار اسکریپت زبان فارسی مشکلات جدی وجود داره. مثلا حروف از راست به چپ و اعداد از چپ به راست نوشته می شه و یا اینکه حروف به هم می چسبن و این باعث می شه برای هر حرف چندین کد متفاوت داشته باشیم که کار پردازشش رو سختر می کنه
3. شما باید برنامه های زیادی رو فارسی سازی کنید که عملا امکانش وجود نداره و خیلی ها از جمله دانشگاه صنعتی شریف اینکار رو کرد و موفق نشد.
4. تاریخ شمسی هر چند دقیق هست اما به دلیل مشخص نبودن مبدا اون مشکلات جدی داره و بیشتر الگوریتمها مرتبط توی اگر اشتباه نکنم سال 1428 و 1450 خوردی به مشکل بر می خورن و سال رو اشتباه محاسبه می کنن. خود تیم صنعتی شریف هم در مورد این قضیه یه مقاله داده.

حالا فواید پوسته انگلیسی چیه؟
1. می تونه به فرایند جهانی شدن کمک کنه (globalization) در حقیقت با یادگیری هر زبان خارجی ما می تونیم ارتباط بهتری با دنیا برقرار کنیم و وسعت درکمون رو افزایش بدیم. هرچند که پوسته انگلیسی هدف یاد گیری زبان انگلیسی رو نداره اما شما با تکرار شدن بعضی از کلمات محدود می تونید دامنه لغت خودتون رو افزایش بدین.
2. یادگیری زبان انگلیسی رو حدلااقل در حد خوندن اجباری می کنه که باعث می شه فرایند یادگیری از روی کتابهای علمی معتبر که اکثرا به انگلیسی هستن سریعتر و بهتر بشه. لازمه اضافه کنم که دامنه لغات زبان فارسی به شدت برای ترویج علم و فلسفه محدود هست و حتی این موضوع زبان فارسی رو در معرض انقراض هم قرار داده.
3. ساختار انگلیسی کاملا با ساختارهای برنامه نویسی و مفسرهای موجود سازگار هست.

بابک.م.
جمعه 20 فروردین 1395, 15:10 عصر
ممنون دوست و استاد گرامی

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

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

برای نمونه در زمان داس برای زبان فارسی شرکت ایران سیستم یک کرکتر ست طراحی کرد که به عنوان استاندارد همه ازش پیروی کردند.

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

هدف ترجمه نیست.


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

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

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


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

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

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

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

یه مورد دیگه که الان یادم افتاد این مصیبت غلط املایی هست. spell checker فارسی اگر جزی از پوسته یا سیستم عامل بود بسیار مفید بود.


تاریخ شمسی هر چند دقیق هست اما به دلیل مشخص نبودن مبدا اون مشکلات جدی داره و بیشتر الگوریتمها مرتبط توی اگر اشتباه نکنم سال 1428 و 1450 خوردی به مشکل بر می خورن و سال رو اشتباه محاسبه می کنن. خود تیم صنعتی شریف هم در مورد این قضیه یه مقاله داده.

لطفا اگر مقاله در اختیارتون هست به اشتراک بذارین.


حالا فواید پوسته انگلیسی چیه؟
1. می تونه به فرایند جهانی شدن کمک کنه (globalization) در حقیقت با یادگیری هر زبان خارجی ما می تونیم ارتباط بهتری با دنیا برقرار کنیم و وسعت درکمون رو افزایش بدیم. هرچند که پوسته انگلیسی هدف یاد گیری زبان انگلیسی رو نداره اما شما با تکرار شدن بعضی از کلمات محدود می تونید دامنه لغت خودتون رو افزایش بدین.
2. یادگیری زبان انگلیسی رو حدلااقل در حد خوندن اجباری می کنه که باعث می شه فرایند یادگیری از روی کتابهای علمی معتبر که اکثرا به انگلیسی هستن سریعتر و بهتر بشه. لازمه اضافه کنم که دامنه لغات زبان فارسی به شدت برای ترویج علم و فلسفه محدود هست و حتی این موضوع زبان فارسی رو در معرض انقراض هم قرار داده.
3. ساختار انگلیسی کاملا با ساختارهای برنامه نویسی و مفسرهای موجود سازگار هست.
در مورد پوسته فارسی فکر می کنم حداقل مزیتی که می تونه داشته باشه توسعه کاربرد کامپیوتر بین مردم و کاربر های کم اطلاع از کامپیوتره.
فکر می کنم علت گسترش کاربرد تلفن هوشمند بین مردم همین مزیت فارسی بودن در سطح پوسته هست (البته من انگلیسیش رو ترجیح می دم ;) اما می بینم در بین افراد خانواده پوسته فارسی استفاده می شه)

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

در مورد globalization ، Internationalization یا i18n هدف همین امکان بومی سازی هست که حتما باهاش آشنایی دارین.

pswin.pooya
دوشنبه 23 فروردین 1395, 04:59 صبح
در مورد فارسی سازی من خواستم فقط مشکلات رو متذکر بشم.

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


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

شما نمی تونید زبان آلمانی رو با زبان فارسی مقایسه کنید. حتی انگلیسی ها هم خیلی کم جرات می کنن زبان آلمانی رو با زبان خودشون مقایسه کنن. آلمانی اگر قویترین زبان نباشه یکی از قویترین زبانهاست و اگر سخت ترین هم نباشه یکی از سخت ترین ها است. مجموعه لغات فنی زبان آلمانی به شدت توسعه یافته هست مثلا 8 تا کلمه فقط برای تعریف فاصله های مختلف دارن (بگذریم از اینکه قابلیت ترکیب کلمات و ساخت کلمه جدید رو از بهم چسبیدن کلمات داره و شما می تونید انواع فاصله های دیگر هم بسازید). البته انگلیسی هم زبان قدرتمندی هست و هرچند که تعداد کلماتش بیشتر از آلمانی هست (حدود 500 هزارتا) اما یه قسمت بزرگش تکراری هستن و بیشتر فرمهای رسمی و غیر رسمی و یا شبه رسمی دارن. از طرف دیگه حتی می گن انگلیسی از آلمانی (که خودش از لاتین مشتق شده) مشتق شده و حتی England هم به آلمانی یعنی سرزمین باریک:

eng: باریک
land: سرزمین

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

در نهایت منظورم از globalization جهانی شدن بود و نه عبارت (terminology) اون در کامپیوتر:
https://en.wikipedia.org/wiki/Globalization
https://fa.wikipedia.org/wiki/%D8%AC%D9%87%D8%A7%D9%86%DB%8C%E2%80%8C%D8%B4%D8%A F%D9%86

pswin.pooya
دوشنبه 23 فروردین 1395, 05:28 صبح
در نهایت ما برای بومی کردن مشکلات خیلی جدی تری داریم که می شه انرژی رو اونها گذاشت:

1. تا اونجا که می دونم هیچ استانداردی نداریم مثلا برای نمایش تاریخ میلادی ISO 8086 به کار می ره اما در فارسی هیچ استانداردی نداریم.
2. خیلی از فریم ورکها مثل فریم ورک معروف کیوت از تاریخ شمسی پشتیبانی نمی کنن. از اونم بگذریم دوباره الگوریتم درست برای تبدیلش هم نداریم.
3. سرویسهای پر کاربرد روز دنیا در ایران کاربردی ندارن مثل سرویسهای مکانی (location) یا حداقل درست کار نمی کنن.
4. ضعف پایگاه دادی بزرگ برای موارد جامع داریم. برای خیلی از چیزهایی که می تونه و یا باید در دسترس برنامه نویسهای باشه هیچ پایگاه داده و یا سرویس درستی وجود نداره.
5. خیلی از حروف فارسی چند نماد دارن مثلا دکمه ها و کدهای مختلف توی کی برد های مختلف حرف پ رو نمایش می دن و نتیجه اون رو می تونید توی عابربانکها ببینید. مثلا ی عربی رو بجای ی فارسی نمایش می ده و یا حرف پ رو نمایش نمی ده. این یعنی حتی سرویسها بانکی کشور هم هیچ استانداردی برای نمایش و انتقال داده بین همدیگه ندارن.
و ....

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