متن این پست به مرور ویرایش خواهد شد.
درود
متاسفانه بنده فرصت نکردم کل این تاپیک رو بخونم اما به طور اتفاقی در این تاپیک به مطالبی برخوردم که بیشتر جنبه طنز داشت تا علمی
بنابر این لازم دیدم که توضیحاتی بدم تا قضاوت و تصمیم گیری برای کسانی که کل این تاپیک رو میخونند راحت و منطقی تر بشه ....
ابتدا مقدمه و تاریخچه :
کاملا بدیهی هست که مقایسه زبان های برنامه نویسی باید در حیطه تخصصی خودشون انجام بشه
بنابراین مقایسه دلفی که زبان تخصصی برای پایگاه های داده هست با خانواده .net مایکروسافت و یا J2ME قطعا مقایسه درستی نیست اما اشتراکاتی هم دارند که قابل مقایسه هست ....
ابتدا هم لازم میدونم که یک تعریف کلی از "زبان های برنامه نویسی سطح بالا" انجام بدم
در یک بیان کلی یک زبان کامپیوتری سطح بالا با بهره گیری از کتابخانه گسترده و کامپوننت ها و کنترل های خود به برنامه نویس امکان حل مسئله مورد نظر با صرف کمترین وقت و بهترین نتیجه را میدهد
اگر کمی دقیق تر نگاه کنیم تمام این کتابخانه ها و کنترل ها و کامپوننت ها بر اساس توابع API سیستم عامل(یا فریم ورک) میزبان طراحی شده اند. که از اینجا به بعد همه چیز یکسان هست ...
پس تفاوت زبان های سطح بالا در قدرت کتابخانه های آماده ای است که از آن بهر میگیرند
و حالا کمی تاریخچه : دلفی در سال ۱۹۹۵ عرضه شد و از همان اولین نسخه با ویژگی های فوق العاده (و در آن زمان جدید) از جمله شی گرایی مبتنی بر فرم و پشتیبانی بی نظیر از بانکهای اطلاعاتی به گزینه اول طراحان نرم افزار مبتنی بر بانک های اطلاعاتی تبدیل شد ....
روند رو به رشد موفقیت دلفی با بورلند تا ورژن 7 که در سال 2002 عرضه شد ادامه داشت و در واقع ورژن 7 نقطه اوج دلفی با بورلند بود
مقبولیت دلفی 7 بین برنامه نویسان به معنای واقعی غیر قابل توصیف هست ,همین حالا هم نرم افزارهای اتوماسیون و به ویژه حسابداری نوشته شده توسط نسخه ( 7ام دلفی پس از 9 سال از عرضه آن) به وفور در سازمان ها و نهاد ها مورد استفاده هست
حتی فراتر از نرم افزارهایی که در گذشته نوشته شده اند ..... همین حالا کسانی هستند که پروژه های بزرگی را با ورژن منسوخ شده 7 دلفی انجام میدهند ! (که قطعا صحیح نیست)
بعد از نسخه 7 متاسفانه دلفی یک روند نزولی را با بورلند طی کرد تا اینکه در سال 2008 به کمپانی بزرگ Embarcadero واگذار شد
قابل ذکر است که در ۱۴نوامبر سال ۲۰۰۶بورلند گروه توسعه دهنده دلفی را در مجموعه ای به نامCodeGear که خود مالک آن بود سازمان دهی کرد. بنابراین دلفی در مدت عمر 16 ساله خود فقط یک بار و آن هم از موسسش بورلند به کمپانی Embarcadero واگذار شد.
بر خلاف انتظار خیلی ها دلفی با Embarcadero خیلی سریع به ثبات رسید ودلفی XE و XE 2 به معنای واقعی ؛ بازگشت دلفی به اوج به حساب میاید.
در هر دو نسخه ای که اشاره کردم امکانات فوق العاده ای به دلفی افزوده شده
یکی از دوستان اظهار نظر کردند که همه اینها در ویژوال استودیو 2006 بوده !
در جواب باید بگم دوست عزیز یکسری از امکانات افزوده شده در واقع پشتیبانی از فناوری ! های روز مایکروسافت و یا معادل اونها هست مثل FireMonkey قدرتمند دلفی که به موازات WPF مایکروسافت در حال پیشرفت است. (در مورد Firemonkey توضیحات تکمیلی را در ادامه خواهم داد.)
و یکسری هم امکاناتی هست که دلفی بی نیاز از سکوی ویندوز در حال توسعه آنهاست
به عنوان مثال پشتیبانی از انواع تلفن های هوشمند , جایی که گاو چاق مایکروسافت (فریم ورک .net)وجود خارجی ندارد
یک برنامه نویس دلفی در mac os و یا ios وبه زودی خیلی از پلت فرم های دیگه همان قدرتی رو در تولید Native code داره که در محیط ویندوز داره
در مورد ویژوال استودیو و .netچه حرفی برای گفتن هست ؟! قفس بزرگ مایکروسافت ! غیر از این هست ؟
---------- Post added at 07:28 PM ---------- Previous post was at 07:24 PM ----------
Windows Presentation Foundation
معرفی WPF هم مانند سایر شبه فناوری ! های مایکروسافت همراه با تبلیغات وسیع در سراسر دنیای دیجیتال بود و تعداد زیادی مقالات تبلیغاتی در این زمینه به فارسی هم ترجمه شدند
در صفحه اول این تاپیک هم طوری از WPF صحبت شده که خواننده ناآگاه در ذهنش چیزی شبیه اورانیوم غنی شده تصور میکند
اما واقعا تحول بزرگی رخ داده ؟
فناوری ! جدید مایکروسافت به زبان ساده :
بعد از گذشت 10 – 15 سال از برنامه نویسی مبتنی بر فرم ها در ویندوز مایکروسافت به این صرافت افتاد که اینترفیس و کنترل منابع در برنامه های مبتنی بر ویندوز بسیار عقب مانده هست (خودش اعتراف کرد !)
در نتیجه تصمیم گرفت تا با به کارگیری موتور پردازش تصاویر DirectX (که نسخه اول آن در سال 1995 عرضه شده) یک مجموعه ازAPI ها و کنترل های گرافیکی جدید را تحت کتابخانه ها WPF برای برنامه های تحت ویندوز عرضه کند
همین !
کل صرو صدای مایکروسافت به این خاطر است که از این به بعد GUI برنامه های تحت ویندوز باDirectX رندر میشوند (درست مثل بازی ها !)
و اما FIREMONKEY
یک چارچوب جدید برای تولید رابط گرافیکی کاربر که در نسخه Delphi XE2 معرفی شده
شباهت های بسیاری به کارکردهای WPF داره
اما واقعا بی انصافی خواهد بود که از داشته های FireMonkey که WPA به خاطر سیاست های مایکروسافت از داشتنش محرو م است نام نبریم !
1- FireMonkey کراس پلت فرم است ! کاملا بر عکس WPF که در قفس .net و در زندان ویندوز اسیر شده !
واقعا جالب است ! FireMonkey در ویندوز درست ماننده WPF از DirectX استفاده میکند و در Mac os و I os و لینوکس از OpenGl
این به معنای واقعی کلمه قدرتی است در دست برنامه نویسان دلفی …
2- FireMonkey هم مثل تمام اجزاء دیگر دلفی به صورت Native Code هست , بدون نیاز به هیچ فریم ورکی در هر سیستم عاملی می توان از قدرت گرافیک FireMonkey در رابط کاربری بهره برد از ویندوز 98 گرفته تا ویندوز 8 !
جالب اینجاست که در نقطه مقابل خیلی از قابلیت های WPF حتی در ویندوز XP هم پشتیبانی نمیشوند !
3-یکی از سرگرمی های مایکروسافت هرچند وقت یک بار ! زیر و رو کردن معماری ها و طراحی هاست !
اگر شما برنامه نویس C# و asp.net بوده اید و بعد از چند مرحله گذر از معماری های مختلف به2 MVC رسیده اید خبر بد برای شما اینکه مایکروسافت روش جدیدی برای تعریف عناصر گرافیکی و اینترفیس برنامه ها مبتنی برXML تعریف کرده ؛پس اگر حوس Silver light کردید ! باید چند وقتی هم با یادگیری XAML و سایر مخلفاتش سرگرم باشید , البته موقتا تا دفعه بعد که مایکروسافت دوباره همه چیز رو زیر و رو کنه !
در نقطه مقابل برای برنامه نویسان دلفی هیچ جای درنگی وجود نداره ! همان سینتکس شیرین دلفی و همان IDE دوست داشتنی ، همین حالا استفاده از FireMoneky زیبا را شروع کنید ....
باز هم لازم به یاداوری هست که مایکروسافت خارج از حوزه ویندوزهیچ حرفی برای گفتن ندارد
تا این حد کهSilver light که زیر مجموعه WPF نتونست در خارج از ویندوز حتی حریف فلش از شرکت آدوبی بشود !
---------- Post added at 07:29 PM ---------- Previous post was at 07:28 PM ----------
خوب حالا که بحث مربوط به گرافیک جدید ویندوز در اپلیکیشن ها یا همون (WPA) رو توضیح دادیم و با مقایسه با FireMonkey دلفی انجام شد
بد نیست که از این اسم ها و به قول بعضی ها فناوری خارج بشیم و به واقعیت های موجود هم نگاهی بندازیم
بازار نرم افزار در کشور ما چه نیاز هایی داره ؟ چه جور تولیدی پیش روی دانشجوهای نرم افزار هست ؟
نیاز به مثلا مسنجر فارسی ! , یا مرورگر وب ایرانی ! یا دانلود منیجر ایرانی یا ....
که به شکل زیبا و گل منگلی ! با فناوری !WPF درست شده باشن و مثلا بتونیم اجزا روی فرم هاش که 3 بعدی هست رو تکون بدیم ؟!
نه به هیچ وجه ، هیچ عقل سلیمی این رو قبول نمیکنه ..... اینها معمولا به صورت سرگرمی و برای مخاطب عام تهیه میشند و به هیچ وجه جزو اهداف تجاری یک مهندس نرم افزار نیستند
در مقابل
نرم افزار های اتوماسیون , نرم افزارهای گردش کار , نرم افزارهای CRM ،انوع نرم افزارهای حسابداری و ....
اینهاست که مورد نیاز هست و تقریبا هدف تمام شرکت های تولید نرم افزار و برنامه نویسان Free Lancer هم تولید همین هاست ....
برای اپراتور و کاربر هر کدوم از این نرم افزارها که اشاره کردم فقط و فقط کارایی نرم افزار مهم هست
و 3 بعدی بودن المان های روی برنامه براش سر سوزنی ارزش نداره ! چه الان چه 10 سال دیگه
در آخر هم بد نیست به مجموعه نرم افزار های حسابداری هلو محصول شرکت طرفه نگار با 210,000 کاربر در سراسر ایران که در واقع فراگیرترین نرم افزار حسابداری در ایران است اشاره کنیم که فقط یکی از محصولاتی است که توسط دلفی نوشته شده و توسعه داده میشود ...
البته این یک مثال بارز بود و در فهرست 10 نرم افزار حسابداری برتر در ایران لااقل نیمی از اونها قدرت گرفته از دلفی هستند ...
قصد من به هیچ وجه این نیست که دلفی رو به عنوان بهترین عنوان کنم ... بهترین در هر حیطه کاری و برای هر توسعه دهنده متفاوت هست
قاعدتا کسانی که برای نهادهای حساس دولتی مثل وزارتخانه ها یا نیروی انتظامی و یا بانک ها پروژه های نرم افزاری انجام داده اند میدانند که فقط و فقط برنامه نویسان جاوا در اون حیطه حرفی برای گفتن دارند
اصلا در تمام دنیا جاوا زبان تخصصی برای Core Banking هست
و یا مثلا زمانی که پروژه ای به بزرگی فیس بوک توسط php انجام شده , گفتن اینک ASP.net خوب است و PHP بد مثل تعریف کردن یک جک بی مزه خواهد بود !
پس من به همه عزیزانی که با مطالعه مطالب این تاپیک (به خصوص صفحه اول) ذهنشون از مسیر صحیح دور شده (به خصوص به دانشجویان نرم افزار) اکیدا توصیه میکنم قبل از اخذ هر تصمیمی یک بررسی کامل انجام بدن و حدالامکان نیازهای بازار نرم افزار رو از نزدیک لمس کنند ....
بنده هم اگر مشغله کاری اجازه بده تا حد امکان سعی میکنم مجددا سایر مباحث در این زمینه رو بیشتر باز کنم ...
از زننده تاپیک هم میخوام که انصاف داشته باشند و در صفحه اول مطالب غلط رو در ذهن برنامه نویسان تازه کار القا نکنند ....
موفق باشید.
---------------------------------------------------------------------------------------------------
پست های این تاپیک از دل [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] به این قسمت منقل شده است.
اگر برخی کاربران به پست ها یا مطالب خاصی اشاره میکنند که در این تاپیک موجود نیست منظور تاپیک فوق است.
Payman_62