از اونجا که مایکروسافت سلیقه ای نداشته اومده از تلفیق ویژگی های شی گرایی جاوا و گرامر سی پلاس پلاس استفاده کرده.هر چند جاوا هم از نظر گرامری وام دار زبان سی و سی پلاس پلاس است.واین کپی برداری مایکروسافت از جاوا رو کمی توجیه میکنه
چیشده؟؟
ماکروسافت سی++ رو ساخته که حالابا کپی برداریش از جاوا(بقول شما) بیحساب شده؟؟!!
یعنی : ماکروسافت مالک سی++ و جاوا مالک شی گرایی!! + سی# از شی گرایی استفاده کرده و جاوا ازگرامر سی++
=> ماکروسافت و جاوا بیحساب!
میدونم اصلا به موضوع ربطی نداره.ولی برای اینکه یادی از دانشمندهای بزرگ کامپیوتر که طراح زبان بودند این متن را نوشتم.
زبان سی رو مرحوم Dennis MacAlistair Ritchie نوشته.(پرفسور دنیس ریچی دانشمند علوم کامپیوتر آمریکایی که سیستم عامل یونیکس رو با همین زبان نوشت) و شی گرا نیست ولی بسیار سریع و قدرتمنده و یک زبان سطح پایین و Structural برای سیستم عامل نویسی است
من نگفتم زبان سی پلاس پلاس رو مایکروسافت ساخته.زبان های برنامه نویسی رو دانشمند های کامپیوتر که دستی در ریاضیات و نظریه زبان ها و ماشین ها و کامپایلر و ... دارند میسازند.شما میگید سی پلاس پلاس رو مایکروسافت ساخته! مایکروسافت زبان سی پلاس پلاس رو نساخته.مایکروسافت فقط یه IDE به اسم ++Visual C ساخت که کدنویسی و Debuging و ... برای این زبان ها ساده تر بشه.قبلش Borland برای زبان سی IDE میساخت.ولی این زبان ها که خیلی هم قدرتمند بودند و همه زبان های دیگه مدیون اینها هستند آزمایشگاهی هستند و در دانشگاه ها ساخته شدندزبان ++C توسط دکتر بییارنه استراستروپ (Bjarne Stroustrup) ریاضیدان دانمارکی در سال ۱۹۷۹ به عنوان تز دکتری در آزمایشگاههای بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را "C با کلاس" (C With Classes) نامگذاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد.
زبان جاوا بعدها مشکلات شی گرایی زبان سی پلاس پلاس را حل کرد(زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسانتری دارد)و اشاره گرها رو حذف کرد.و و از قابلیتهای سطح پایین کمتری پشتیبانی کرد.(جاوا سطح بالا شد و مثل سی سطح پایین و مثل سی پلاس پلاس سطح میانی نیست ولی گرامرش از زبان سی پلاس پلاس مشتق شده). یکی از قابلیتهای اصلی جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد.
یکی از مشکلات زبان سی پلاس پلاس دورگه بودن اون بود.یعنی هم Structural و هم Object oriented بود- آقای استراستروپ قصدش این بوده که زبان سی پلاس پلاس مکمل زبان سی باشه و جدش سی رو نقض نکنه و هم سی باشه و هم با کلاس(شی گرا)-.
ولی جاوا فقط شی گرا است و نخواست زبانش دورگه بشه.
تفاوت دیگه جاوا و سی پلاس پلاس قابلیت حمل اونهاست.که سی پلاس پلاس به دلیل کامپایلرهای زیادی که داره Portability خوبی داره.ولی جاوا زبانی است مفسری که به دلیل ماشین مجازی که داره Portability عالی داره و میتوان به آن Cross platform گفت.البته با همت نوکیا و digia محیط Qt هم زبان سی پلاس پلاس رو Cross platform کرده!
خیلی ها زبان جاوا رو هم به شرکت Sun MicroSystems نسبت میدند.ولی به نظر من شرکت ها فقط بودجه تولید زبان رو تامیین میکنند.و مهره اصلی دانشمندی است که زبان رو طراحی و پیاده سازی میکنه.دکتر جیمز گاسلینگ (Dr. James A. Gosling) از دانشمندان کامپیوتر و زاده کانادا است. او به عنوان پدر زبان برنامه نویسی جاوا شناخته می شود.الان هم که سان و اوراکل ادغام شدند و جاوا رو به اوراکل نسبت میدهند!!!
در سال ۱۹۹۹، شرکت سان اجازه استفاده از زبان برنامهنویسی جاوا را در اختیار ماکروسافت قرار داد تا در سیستمعامل خود از آن استفاده کند. جاوا در اصل به هیچ پلت فرم یا سیستمعاملی وابسته نبود، ولی ماکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستمعامل بودن جاوا را از آن برداشت.(چه قدر این مایکروسافت انحصار طلبه!!!!!!!) شرکت سان پروندهای علیه ماکروسافت درست کرد و ماکروسافت مجبور شد تا زبان شیءگرای جدیدی با کامپایل جدید که متعلق به خودش باشد را درست کند.
زبان سی شارپ هم مثل جاوا شی گرا و سطح بالاست.و هدف مایکروسافت از ایجاد این زبان وابسته نبودن به جاوا و شرکت سان/اوراکل بود.به همین خاطر مایکروسافت با استخدام Anders Hejlsberg این زبان را طراحی کرد.
آندرس هجلزبرگ،مهندس نرم افزار برجسته دانمارکی ! طراح زبان برنامهنویسی پاسکال و دلفی، سرپرستی تیم طراحان زبان سی شارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه ++C است و به شدت از زبانهای جاوا و دلفی تاثیر پذیرفتهاست. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در ژوئیه ۲۰۰۰، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به سی شارپ تغییر پیدا کرد.
نتیجه گیری : نسبت دادن یک زبان به یک شرکت کار اشتباهی است
و این که گفتم چون مایکروسافت سلیقه ای نداشته فقط یه شوخی بود! هرچند اگر مایکروسافت جرأت رقابت با جاوای سان رو داشت. در تقابل جاوا زبانی رو طراحی میکرد.
و مایکروسافت ریسک نکرده و از طراح های زبان یک زبان شبیه به جاوا خواسته که وابسته به ویندوز باشه.و گرنه طراح زبان سی شارپ.طراح زبان پاسکال و دلفی بوده.و اگه میخواست میتونست خیلی شبیه به دلفی طراحی اش کنه و یا زبان جدیدی طراحی کنه.