PDA

مشاهده نسخه کامل : J# یک زبان تمام عیار



K A S R A
27-02-08, 03:12
سلام دوستان ... انشالله که همگی خوب هستید :give_rose:
از اونجایی که اخیرا علاقه خاصی به #J پیدا کردم ,:love: چند وقتی هست که دنبال یه سری مقاله معتبر در مورد #J می گردم ... بالاخره تصمیم گرفتم یکی شو ترجمه کنم و بذارم تو فروم تا بقیه هم بتونن بیشتر با این زبان آشنا بشن ... فعلا قسمت اولشو می ذارم ... ان شاالله در اولین فرصت قسمت های بعدیشو هم میذارم . :cool:
لینک منبع رو هم آخر کار قرار می دم :wink:

مقدمه :


این مقاله به بررسی زبان J# , زبان جدید Framework .NET و یک محصول منحصر به فرد دیگر از Microsoft می پردازد . در اینجا با مثال های متعدد نشان می دهیم که چطور برنامه نویسان Java می توانند از مهارت های
خود در J# همچنان بهره ببرند .



Java در برابر J# مثال به مثال :



مثال ها به چهار دسته کلی زیر تقسیم میشوند :

·Console Application

·Cross-language examples

·Windows forms examples

·Web services examples

مثال ها ابتدا به زبان Java , سپس به زبان J# و در نهایت با .NET نوشته می شوند .



: (Console App) : Command-Line Examples



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

Java Example

//To Compile - javac welCome.java
//To Run - java welCome
import System.*;
class welCome{public static void main(String[] args)
{System.out.println("Welcome To .NET Technology Group - PCS");}
}


حال همین مثال را به زبان J# می نویسیم . برنامه جدید بسیار شبیه برنامه قبلی خواهد بود . تنها , تفاوت در پسوند فایل هاست .

J# Example

//To Compile - jc welCome.jsl
//To Run - welCome
import System.*;
public class welCome{public static void main(System.String[] args)
{System.out.println("Welcome To .NET Technology Group - PCS");}
}


حال نگاهی به برنامه دوم بیندازید .در اینجا پسوند فایل سورس کد را به .Java تغییر می دهیم (به جای .jsl ) , اما هنوز هم می توان این برنامه را با کامپایلر J# یا همان JC کامپایل کرد . اگر شما یک برنامه نویس Java هستید و برای اولین بار است که می خواهید با .NET برنامه بنویسید , حتما این مسئله برایتان بسیار خوشحال کننده خواهد بود . کدی که در اینجا با JC کامپایل میکنیم , به یک زبان میانی (Intermediate Language) تبدیل میشود در مقابل کامپایلر جاوا که بایت کد ( bytecode ) تولید میکند . این برنامه را می توان با کامپایلر Java یا JAVAC هم کامپایل کرد . در حقیقت شما می توانید برنامه ای که نوشتید را با هر کدام از این پسوند ها ( .jsl یا .Java ) ذخیره کنید .


//To Compile - jc welCome.java
//To Run - welCome
import System.*;
public class welCome{public static void main(System.String[] args)
{System.out.println("Welcome To .NET Technology Group - PCS");}
}

برنامه دوم را کمی تغییر می دهیم . دراین برنامه توجه کنید که تابع خروجی

از System.out.println() به System.Console.WriteLine() تغییر کرده است . همان طور که می دانید در .NET Framework همه زبانها از یک کتابخانه مشترک به نام BCL یا Basic Common Library استفاده می کنند . از این رو انتظار می رود که همان نتایج بدست آمده از قبل دوباره نیز حاصل شود .

.NET Example

//To Compile - jc welCome.js
l//To Run - welCome
import System.*;
public class welCome{public static void main(System.String[] args)
{System.Console.WriteLine("Welcome To .NET Technology Group - PCS");}
}

در جدول زیر نتایج بدست آمده از برنامه های نوشته شده با هم مقایسه می شوند

Java Program

File extension : .java
Compiler : JAVAC
Library functions : Java API
Intermediate form : Java bytecode
Runtime environment : JVM (Java Virtual Machine)
Platform : Can run on multiple platforms
Interoperability with other languages : Lacks cross language capabilities to a great extent

Documentation : HTML
Output : Filename.class

J#.NET Program

File extension : Any extension; .jsl by default
Compiler : JC
Library functions : Java API and .NET Framework library
Intermediate form : Intermediate Language (IL)
Runtime environment : CLR ( Common Language Runtime)
Platform : Designed to run on multiple platforms
Interoperability with other languages : Sound cross-language capabilities
Documentation : XML
Output : Filename.exe or Filename.dll

ادامه دارد ...
:11():

K A S R A
29-02-08, 02:10
سلام دوستان:give_rose:
تو این تاپیک قراره در مورد ویژگی های زبان #J بحث بشه , ولی متاسفانه سورس کدهای #J زمانی که در تاپیک قرار می گیرن به سختی قابل خوندن هستن ... واسه همینم در اولین فرصت که ترجمه کل مقاله J# یک زبان تمام عیار تموم شد فایل PDF. نهایی رو در تاپیک قرار میدم ...
موفق باشید :11():

کسری

Emperatour
29-02-08, 02:23
یک سوال کاملا مبتدیانه بپرسم. ایا مظنرو همون جاواس؟ برنامه تولیدی روی پلتفرمهای جاوا مثل گوشیها و.. اجرا میشه؟

K A S R A
29-02-08, 02:56
یک سوال کاملا مبتدیانه بپرسم. ایا مظنرو همون جاواس؟ برنامه تولیدی روی پلتفرمهای جاوا مثل گوشیها و.. اجرا میشه؟

نه منظورم Java نیست ... منظورم #J هست از مجموعه NET. :cool:
J# محدودیت سخت افزاری نداره ... محدودیت نرم افزاری هم نداره ( منظورم سیستم عامله ) . از تکنولوژی CLR استفاده میکنه ( مثه تکنولوژی JVM عمل میکنه )...
در حالت کلی نه . اما اگه بخواین برنامه های #J رو روی پلتفرم های Java اجرا کنید , اونوقت باید تو برنامه هاتون به جای استفاده از کتابخانه NET. از Java API استفاده کنید , خوشبختانه #J از هر دو پشتیبانی میکنه :1. (26):
:11():