پایتون (به انگلیسی: Python) یک زبان برنامهنویسی شیءگرا، متن باز،تفسیری، سطح بالا، و همه منظوره است، که
خیدو فان روسوم (Guido van Rossum) هلندی[a] آن را طراحی کردهاست، و اولین بار در سال ۱۹۹۱ منتشر شدهاست.
فلسفه اصلی طراحی پایتون «خوانایی بالای کد» است و نویسههای فاصله خالی در آن معنادار هستند و مکرر استفاده
میشوند. ساختار زبانی و دیدگاه شیءگرا در پایتون به گونهای طراحی شدهاست که به برنامهنویس امکان نوشتن
کد منطقی و واضح (بدون ابهام) را برای پروژههای کوچک و بزرگ میدهد.[۲۶][۲۷]
کلمات کلیدی و اصلی این زبان بهصورت حداقلی تهیه شدهاند و در مقابل کتابخانههایی که در اختیار کاربر است
بسیار وسیع هستند.[۲۸]
برخلاف برخی زبانهای برنامهنویسی رایج دیگر که بلاکهای کد در آکولاد تعریف میشوند (بهویژه زبانهایی که
از نحو زبان سی پیروی میکنند) در زبان پایتون از نویسه فاصله و جلو بردن متن برنامه برای مشخص کردن
بلاکهای کد استفاده میشود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار
میگیرند و این تعداد در بلاکهای کد درونیتر افزایش مییابد. بدین ترتیب بلاکهای کد به صورت خودکار ظاهری
مرتب دارند
در پایتون مدلهای مختلف برنامهنویسی (از جمله شیگرا و برنامهنویسی دستوری و تابع محور) را پشتیبانی
میشود و برای مشخص کردن نوع متغیرها از یک سامانهٔ پویا استفاده میشود.
این زبان از زبانهای برنامهنویسی مفسر بوده و بهصورت کامل یک زبان شیءگرا است که در ویژگیها با زبانهای
تفسیری پرل، روبی، اسکیم، اسمالتاک و تیسیال مشابهت دارد و از مدیریت خودکار حافظه استفاده
میکند.[۲۹][۳۰][۳۱]
زبان پایتون ۲ رسماً از سال ۲۰۲۰ دیگر پشتیبانی نمیشود و پایتون ۲٫۷٫۱۸ آخرین نسخهٔ پایتون ۲٫۷ و همچنین
پایتون ۲ است و ازاین به بعد دیگر هیچ وصلهٔ امنیتیای یا بهبود دیگری در این نسخه داده نخواهد شد.[۳۲][۳۳]
با پایان پشتیبانی از پایتون ۲ فقط پایتون ۳ نسخههای بعدی آن پشتیبانی خواهند شد.[۳۴]
پایتون پروژهای آزاد و متنباز توسعهیافتهاست و توسط بنیاد نرمافزار پایتون مدیریت میگردد.
پایتون یکی از زبانهای اصلی مورد استفاده در حوزهٔ یادگیری ماشین و هوش مصنوعی است. وجود کتابخانههایی
مانند TensorFlow، Keras و PyTorch باعث شده تا توسعهٔ الگوریتمهای پیچیده یادگیری ماشین و شبکههای عصبی
در پایتون بسیار سادهتر و کارآمدتر شود. همچنین، سادگی سینتکس پایتون باعث شده تا برای آموزش مفاهیم هوش
مصنوعی در دانشگاهها و دورههای آموزشی نیز بهطور گستردهای استفاده شود.
تاریخچه
پایتون اواخر دهه ۱۹۸۰ (میلادی)[۳۵] در مؤسسه ملی تحقیقات ریاضی و رایانه[b] (CWI) در کشور هلند توسعه
داده شد.[۳۶]
هدف خیدو از توسعهٔ پایتون ایجاد جانشینی برای زبان برنامهنویسی ایبیسی بود[۳۷] که قابلیت پردازش
استثناها را داشته باشد.[۳۸] پیادهسازی پایتون در دسامبر ۱۹۸۹ آغاز شد.[۳۹] خیدو طراح اصلی پایتون است
و نقش مداوم او در تصمیمگیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب دیکتاتور
خیرخواه جاویدان[c] را بدهد.[۴۰] فان روسوم تا ۱۲ ژوئیه ۲۰۱۸ مسئولیت رهبری پروژهٔ پایتون را به عهده
داشت. در آن زمان او اعلام کرد که از مسئولیت خود به عنوان دیکتاتور خیرخواه جاویدان کنارهمیگیرد.[۴۱]
در حال حاضر، او مسئولیت رهبری پروژهٔ پایتون را به یک انجمن راهبری[d] پنج عضوی که خود نیز یکی از
اعضای آن است دادهاست.[۴۲][۴۳][۴۴] در ژانویهٔ ۲۰۱۹ توسعه دهندگان فعال هستهٔ پایتون نیک کولان،[e] برت
کانون،[f] بری وارساو،[g] کارول ویلینگ،[h] و خیدو فان روسوم را به عنوان اعضای انجمن انتخاب کردند.[۴۵]
از آن زمان خیدو فان روسوم از نامزدی برای انجمن ۲۰۲۰ صرف نظر کردهاست.[۴۶]
پایتون ۲٫۰ در ۱۶ اکتبر ۲۰۰۰ با ویژگیهای مهم و جدید بسیاری منتشر شدکه شامل بازیافت حافظه با قابلیت
شناسایی دور[i] و پشتیبانی از یونیکد بود.[۴۷]
پایتون ۳٫۰ در ۳ دسامبر ۲۰۰۸ منتشر شد این نسخه بازنویسی عمدهای از نسخهٔ قبل بود که سازگاری عقبرو[j]
را شکسته بود.[۴۸] بسیاری از ویژگیهای عمدهٔ آن به پایتون 2.6.x[۴۹] و 2.7.x پیشانتقال داده شدند.
نسخههای منتشر شده از پایتون ۳ ابزار 2to3 را دارند که کار ترجمهٔ کد پایتون ۲ به پایتون ۳ را (حداقل
تا حدودی) انجام میدهد.[۵۰]
از سال ۲۰۱۵ مقرر شد نسخههای پایتون ۲٫۷ تنها تا سال ۲۰۲۰ پشتیبانی شوند.[۵۱][۵۲]
نمونه کد پایتون
age = int(input("Enter your age: "))
if age < 18:
print("You are a minor.")
elif age >= 18 and age < 65:
print("You are an adult.")
else:
print("You are a senior citizen.")
JavaScript
جاوااسکریپت (به انگلیسی: JavaScript، /ˈdʒɑːvəˌskrɪpt/) با کوتهنوشت JS، نوعی زبان برنامهنویسی است که
با ویژگیهای ارائه شده در مشخصات اِکما اسکریپت مطابق است.[۹] جاوااسکریپت نوعی زبان سطح بالا، کامپایل
درجا و چندالگویی است. جاوااسکریپت نحو آکولادی دارد، نوعدهی آن پویا است، نوع شیءگرایاش بر پایه
پیشنمونه است و دارای توابع کلاس اول است.[۱۰]
در کنار HTML و CSS، جاوااسکریپت یکی از فنآوریهای هستهای وب جهانگستر است.[۱۱]
علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، دلیل این نامگذاری محبوبیت زبان جاوا
در هنگام تولد جاوااسکریپت بود؛ اگر چه ساختار این زبان به سی پلاس پلاس (++C) و سی شارپ (C#) شباهت دارد که
این امر برای یادگیری آسان در نظر گرفته شدهاست. از همین رو دستورهای متداول مانند if, for, try..catch,
while و … در این زبان هم یافت میگردند.
این زبان میتواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با
اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته میشوند، برخلاف جاوا. بعد از ساخته شدن یک شی به روش
فوق، این شی میتواند به عنوان نمونهای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.
به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم، مناسب است.
کاربرد گسترده این زبان در سایتها و صفحات اینترنتی بوده و به کمک این زبان میتوان به اشیاء داخل صفحات
اچتیامال دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویانمایی در سمت کاربر، از این زبان
استفاده میشود.
تاریخچه
جاوااسکریپت را در ابتدا شخصی به نام برندان آیک در شرکت نتاسکیپ با نام Mocha طراحی نمود. این نام
بعداً به LiveScript و نهایتاً به جاوااسکریپت تغییر یافت.[۱۲] اولین نمونههای جاوااسکریپت در اواخر
دهه ۱۹۹۰ برای مرورگر وب Netscape Navigator ایجاد شد.
اولین نسخه جاوااسکریپت در نسخه B32.0 این مرورگر در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نامگذاری منجر به
سردرگمیهای زیادی شده و این ابهام را ایجاد میکند که جاوااسکریپت با جاوا مرتبط است در حالی که اینطور
نیست.
عدهٔ زیادی این کار را ترفند تجاری برای بهدست آوردن بخشی از بازار جاوا که در آن موقع زبان جدید مطرح
برای برنامهنویسی تحت وب بود میدانند.
javaScript به صورت «جاواسکریپت» خوانده میشود، ولی در فارسی به صورت «جاوااسکریپت» ترجمه میشود و اگر
به صورت «جاوااسکریپت» ترجمه شود اشتباه است چون دوکلمه جدا ازهم نیست و اگر به صورت دو کلمه جدا نوشته
شود خطاهای نگارشی ایجاد میشود، بهطور مثال ممکن است کلمه جاوا در انتهای خط و کلمه اسکریپت در ابتدای
خط بعدی نوشته شود.
علیرغم اشتباه عمومی، زبان جاوااسکریپت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس
پلاس(++C) و جاوا شباهت دارد که این امر برای یادگیری آسان در نظر گرفته شدهاست.
در آن زمان، صفحات وب ایستا بودند و تعامل کمی با کاربر، فراتر از کلیک کردن روی پیوندها و بارگیری
صفحات
جدید، ایجاد میکردند. برای اولین بار، جاوااسکریپت انیمیشن، محتوای تطبیقی و اعتبار سنجی فرم را در
صفحه
فعال کردهاست.
برای سالهای طولانی، جاوااسکریپت فقط در تعداد محدودی از مرورگرها کار میکرد. مایکروسافت اینترنت
اکسپلورر،
بزرگترین پایگاه مرورگر، خیلی زود از جاوااسکریپت پشتیبانی نکرد. در عوض، مایکروسافت اسکریپت اختصاصی
سمت
مشتری خود را با نام JScript ایجاد کرد. در روزهای ابتدایی توسعهٔ وب، برنامهنویسان که مایل به ایجاد
وبسایتهای پویا بودند، اغلب مجبور به انتخاب یک خانواده مرورگر از خانوادهٔ دیگر شدند. این کمتر از
ایدئال
بود زیرا اینترنت را کمتر در دسترس جهانی قرار میداد.
جاوااسکریپت تا سال ۱۹۹۹ استاندارد نشده و بهطور گسترده هم پذیرفته نشد. حتی پس از استانداردسازی،
سازگاری
مرورگر برای بیش از یک دهه همچنان مسئله ساز بود.
به دلیل موفقیت عمدهٔ جاوااسکریپت در نقش اسکریپتنویسی سمت کاربر (Client Side Scripting Language)
برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را جی
اسکریپت نامید. این زبان در نسخه ۳٫۰ از مرورگر اینترنت اکسپلورر و در اوت ۱۹۹۶ داده شد. تفاوتهای این
دو زبان به حدی جزئی است که اغلب جی اسکریپت و جاوااسکریپت به جای هم به کار میروند. هرچند که
مایکروسافت در اینجا چند ده دلیل برای تفاوت جی اسکریپت با استاندارد اکما مطرح میکند.
نتاسکیپ جاوااسکریپت را به سازمان اکما اینترنشنال برای استانداردسازی ارسال کردهاست و نتیجه نسخهٔ
استاندارد شدهای به نام اکما اسکریپت است.[۱۳]
جاوااسکریپت به یکی از زبانهای برنامهنویسی پرطرفدار در وب تبدیل شدهاست. هر چند ابتدا بسیاری از
برنامهنویسان حرفهای زبان را کم ارزش تلقی میکردند چون مخاطبان آن نویسندگان صفحات وب و آماتورهای
این چنینی بودند.[۱۴] ظهور ایجکس بار دیگر جاوااسکریپت را در معرض توجه قرار داد و برنامهنویسان
حرفهای بیشتری را به خود جذب نمود. نتیجه ازدیاد فریمورک و کتابخانههای جامعی در این زمینه، بهبود
شیوههای رایج برنامهنویسی در جاوااسکریپت و افزایش کاربرد جاوااسکریپت خارج از وب است.[۱۵]
گو (به انگلیسی: Go) یک زبان برنامهنویسی ترجمهشده و دارای زباله جمعکن و همروند است که در شرکت گوگل
و توسط رابرت گریسیمر، راب پایک و کن تامپسون توسعه داده میشود.[۸]
این زبان در نوامبر ۲۰۰۹ (برابر آبان ۱۳۸۸) معرفی شد و در حال حاضر در چند سامانهٔ اجرایی گوگل استفاده
میشود.[۹] مترجم گو از لینوکس، مک او اس، ویندوز و انواع سیستمهای عامل بیاسدی مانند FreeBSD
پشتیبانی میکند. از لحاظ معماری پردازنده نیز، معماری ایکس۸۶، معماری ایکس۶۴، معماری آرم و معماری
POWER که مخصوص به شرکت آیبیام است، توسط مترجم گو پشتیبانی میشوند.[۱۰]
«go» به عنوان یک آزمایش توسط مهندسان گوگل رابرت گریسیمر، راب پایک و کن تامپسون توسعه پیدا کرده است.
این زبان برنامهنویسی به شیوهای طراحی شده است که ضمن برطرف کردن انتقادهای رایج از دیگر زبانها،
ویژگیهای مثبت آنها را حفظ کند. زبان جدید شامل ویژگیهای زیر بود:
به صورت ایستا نوشته شده، مقیاس پذیر به سیستمهای بزرگ (به عنوان جاوا و C ++)
نیاز به محیطهای توسعه یکپارچه ندارند، اما از آنها حمایت میکنند پشتیبانی از شبکه و چند پردازش
“go” بهطور قابل توجهی در سنت C است، اما باعث تغییرات بسیاری میشود که به منظور شفافیت، سادگی و
ایمنی ایجاد میشود:
یک روش نحوی و محرک پذیرش الگوهای رایج در زبانهای پویا:
· توصیف اولیه متغیر مختصر و اولیه از طریق استنتاج نوع (x := 0 not int x = 0; or var x = 0;).
زمان تدوین سریع
مدیریت بستههای از راه دور (به دست آوردن) و مستندات بسته آنلاین.
رویکردهای متمایز به مشکلات خاص:
ابتکارهای همپوشانی ساخته شده: فرایندهای سبکوزن (goroutines)، کانالها و بیانیه انتخاب.
یک سیستم رابط به جای ارث مجازی، و نوع جایگذاری به جای ارثی غیرمجازی.
تاریخچه
«گو» در سال ۲۰۰۷ (به شمسی: ۱۳۸۶) توسط «شرکت گوگل» با هدف افزایش بهرهوری برنامهنویسی در محیط
چندهستهای، رایانههای شبکهای و کدبیسهای بزرگ طراحی شد.
«گو» در نوامبر ۲۰۰۹ (به شمسی: آذر ۱۳۸۸) به صورت عمومی معرفی شد و نسخه [27] و نسخه ۱.۰ آن در مارس
۲۰۱۲ (به شمسی: فروردین ۱۳۹۱) منتشر شد. «گو» به طور گسترده ای در محصولات گوگل و در بسیاری از
سازمان های دیگر و پروژه های منبع باز استفاده می شود.
در آوریل ۲۰۱۸ ، لوگوی فعلی جایگزین لوگوی سابق آن شد با این حال، شگوننما (به انگلیسی: Mascot) آن
که موشهای کیسهدار (به انگلیسی: Gopher) است، دست نخورده باقی ماند.
نمونه کد
package main
import (
"context"
"database/sql"
"encoding/json"
"fmt"
"log"
"net/http"
"sync"
"time"
_ "github.com/lib/pq" // PostgreSQL driver
)
// User represents a user in the system
type User struct {
ID string `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
CreatedAt time.Time `json:"created_at"`
}
// APIConfig holds database connection and other configurations
type APIConfig struct {
DB *sql.DB
}
// createUserHandler handles the creation of a new user
func (cfg *APIConfig) createUserHandler(w http.ResponseWriter, r *http.Request) {
type parameters struct {
Name string `json:"name"`
Email string `json:"email"`
}
decoder := json.NewDecoder(r.Body)
params := parameters{}
err := decoder.Decode(¶ms)
if err != nil {
respondWithError(w, http.StatusBadRequest, fmt.Sprintf("Error parsing JSON: %v", err))
return
}
Rust
راست (به انگلیسی: Rust) یک زبان برنامهنویسی ترجمهشده، عام منظوره و چند الگویی است که توسط تحقیقات
موزیلا توسعه یافتهاست.[۳] این زبان طراحی شدهاست تا یک زبان مطمئن، همسو و عملی باشد[۴][۵] که مدلهای
تابعی خالص، امری-رویهای و شی گرا را پشتیبانی میکند. زبان از یک پروژهٔ شخصی توسط توسعهدهندهٔ Graydon
Hoare بهوجود آمد، که او کار بر روی آن را در سال ۲۰۰۶ آغاز کرد؛ کارفرمای او موزیلا، در سال ۲۰۰۹ درگیر
این پروژه شد[۶] و رسماً آن را برای اولین بار در سال ۲۰۱۰ پرده برداری کرد.[۷] در همان سال، کار از
کامپایلرهای اولیه (نوشته شده در OCaml) خود را به کامپایلر خود میزبان نوشتهشده در Rust تغییر داد.[۸]
چیزی که بهعنوان rustc شناخته شد، با موفقیت خود را در سال ۲۰۱۱ کامپایل کرد.[۹] کامپایلر خود میزبان از
LLVM به عنوان بَکاند (backend) استفاده میکند.
اولین نسخه از کامپایلر Rust، که آلفا نام گذاری شد در ژانویه ۲۰۱۲ منتشر شد.[۱۰] نسخه فعلی (نسخه ۰٫۸)، در
سپتامبر ۲۰۱۳ منتشر شدهاست.
Rust بهطور کامل در بازخورد باز و همکاری و کمک از جامعه توسعه یافتهاست. طراحی این زبان از طریق تجربه
حاصل از نوشتن موتور چیدمان Servo اصلاح شده و Rust خودش را کامپایل کردهاست.[۱۱] اگر چه توسعه آن با حمایت
مالی موزیلا و سامسونگ بودهاست، اما یک پروژهٔ اجتماعی است. بخش بزرگی از تصدیقات نسخهٔ فعلی از اعضای
جامعه میباشد.
تاریخچه
Rust ابتدا به عنوان پروژه شخصی توسط Graydon Hoare در سال 2006 شروع شد و از آن زمان توسط Mozilla
پشتیبانی شده و با مشارکت جامعهای فعال رشد کرده است. این زبان در می2015 نسخه پایدار خود را منتشر
کرد و به سرعت برای پاسخگویی به نیازهای برنامهنویسان مدرن تکامل یافته است.
نمونه کد
use IntList::{Node, Empty};
// This program defines a recursive data structure and implements methods upon it.
// Recursive data structures require a layer of indirection, which is provided here
// by a unique pointer, constructed via the `Box::new` constructor. These are
// analogous to the C++ library type `std::unique_ptr`, though with more static
// safety guarantees.
fn main() {
let list = IntList::new().prepend(3).prepend(2).prepend(1);
println!("Sum of all values in the list: {}.", list.sum());
println!("Sum of all doubled values in the list: {}.", list.multiply_by(2).sum());
}
// `enum` defines a tagged union that may be one of several different kinds of values at runtime.
// The type here will either contain no value, or a value and a pointer to another `IntList`.
enum IntList {
Node(i32, Box),
Empty
}
// An `impl` block allows methods to be defined on a type.
impl IntList {
fn new() -> Box {
Box::new(Empty)
}
fn prepend(self, value: i32) -> Box {
Box::new(Node(value, Box::new(self)))
}
fn sum(&self) -> i32 {
// `match` expressions are the typical way of employing pattern-matching,
// and are somewhat analogous to the `switch` statement from C and C++.
match *self {
Node(value, ref next) => value + next.sum(),
Empty => 0
}
}
fn multiply_by(&self, n: i32) -> Box {
match *self {
Node(value, ref next) => Box::new(Node(value * n, next.multiply_by(n))),
Empty => Box::new(Empty)
}
}
}
C#
زبان سیشارپ، یک زبان برنامهنویسی چند الگویی و منظم شده مدلهای تابعی، امری، عمومی، شیءگرا و جز گرا و
در بستر دات نت میباشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA
و ISO را نیز دربر گرفت. سیشارپ یکی از ۴۴ زبان برنامهنویسی است که توسط زمان اجرای زبان مشترک از چارچوب
داتنت پشتیبانی و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته میشود.[۱۰][۱۱][۱۲]
زبان سیشارپ با قدرت و در عین حال سطح بالای خود توانسته توجه بسیاری از برنامه نویسان را به خود جلب
کند.[۱۳]
این زبان برپایه سادگی، مدرن بودن، همه منظوره و شیءگرا بودن ساخته شد. آندرس هجلزبرگ، طراح زبان
برنامهنویسی دلفی، سرپرستی تیم طراحان زبان سیشارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه
++C است و به شدت از زبانهای جاوا و دلفی تأثیر پذیرفته است. در ابتدا نام این زبان COOL بود که مخفف C
like Object Oriented Language بود، هر چند در ژوئیه ۲۰۰۰، زمانی که مایکروسافت پروژه را عمومی اعلام کرد،
اسم آن به سیشارپ تغییر پیدا کرد.[۱۴]
استاندارد ECMA این اهداف طراحی زبان را برای سیشارپ برآورده میسازد:
سیشارپ یک زبان برنامهسازی ساده، مدرن و نوآور برای اهداف عمومی و شیءگرا است.
به دلیل اهمیت داشتن موضوع نیرومندی و دوام و بهرهوری برنامهنویس، زبان دارای چککننده Strong Type،
چککننده مرزهای آرایه، تشخیص حالتهایی که یک متغیر مقداردهی اولیه نشده است، قابلیت انتقال کدها و بازیافت
حافظه خودکار است.[۱۵]
این زبان برای استفاده در اجزای توسعه نرمافزار برای دستیابی به مزایای سامانههای توزیعی در نظر گرفته شده
است.
قابلیت انتقال برنامهنویس بسیار مهم است، خصوصاً برای آن دسته از برنامهنویسانی که با زبانهای C و C++
آشنا هستند.
پشتیبانی از این زبان برای بینالمللی شدن بسیار مهم است.
زبان سیشارپ برای نوشتن برنامهها برای سامانههای تعبیه شده و میزبان در نظر گرفته شده است، سیستم
عاملهای پیچیده بسیار بزرگ گرفته تا توابع اختصاصی بسیار کوچک.
هر چند برنامههای نوشته شده با سیشارپ طوری هستند که از لحاظ حافظه و پردازنده مورد نیاز مقرون به صرفه
باشند، ولی خود زبان از لحاظ اندازه و کارایی به خوبی زبانهای C و اسمبلی نیست.[۱۶]
در هر نرمافزاری که بتوان کدهای سیشارپ را وارد کرد بخشی وجود دارد که برای افراد مبتدی در برنامهنویسی
است این بخش console.aplication نام دارد
تاریخچه
در سال ۱۹۹۹، شرکت سان اجازه استفاده از زبان برنامهنویسی جاوا را در اختیار مایکروسافت قرار داد تا در
سیستمعامل خود از آن استفاده کند. جاوا در اصل به هیچ پلت فرم یا سیستمعاملی وابسته نبود، ولی
مایکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستمعامل بودن جاوا را از آن
برداشت.[۱۷][۱۸] شرکت سان پروندهای علیه مایکروسافت درست کرد و مایکروسافت مجبور شد تا زبان شیءگرای
جدیدی با کامپایل جدید که به ++C شبیه بود را درست کند.[۱۹][۲۰] در طول ساخت دات نت، کلاسهای
کتابخانهای با زبان و کامپایلر SMC نوشته شدند. در سال ۱۹۹۹ آندرس هلزبرگ گروهی را برای طراحی زبانی
جدید تشکیل داد که در آن زمان نامش COOL بود و همانند C بود با خواص شیءگرایی. مایکروسافت در نظر داشت
اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در
ارائه و معرفی رسمی چارچوب داتنت در PDC در سال ۲۰۰۰ این زبان به سیشارپ تغییر نام یافت و کتابخانه
کلاسها و runtime در ایاسپیداتنت به سیشارپ منتقل شدند. مدیر و سرپرست طراحان در مایکروسافت آندرس
هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبانهای برنامه سازی++Borland، دلفی، Turbo Pascal،
ویژوال سی++ به آسانی در دستورالعملهای سیشارپ قابل رویت است و به همان خوبی در هسته CLR.[۲۱][۲۲]
نمونه کد
using System;
public class LongExample
{
public static void Main(string[] args)
{
// Declare and initialize a long variable with a large positive value
long largePositiveNumber = 9223372036854775807L; // Note the 'L' suffix for long literals
// Declare and initialize a long variable with a large negative value
long largeNegativeNumber = -9223372036854775808L;
// Perform an arithmetic operation with long variables
long sum = largePositiveNumber + largeNegativeNumber;
// Display the values and the size of the long data type
Console.WriteLine($"Large Positive Number: {largePositiveNumber}");
Console.WriteLine($"Large Negative Number: {largeNegativeNumber}");
Console.WriteLine($"Sum of numbers: {sum}");
Console.WriteLine($"Size of long variable: {sizeof(long)} bytes");
// Example of type conversion (explicit cast from int to long)
int smallInt = 100;
long convertedLong = smallInt; // Implicit conversion from int to long is allowed
Console.WriteLine($"Converted int to long: {convertedLong}");
}
}