انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: Divan در 18 اردیبهشت 1391، 05:24 قظ
-
سلام خدمت دوستان
من یه کابر ساده و مشتاق به یادگیریم و به برنامه نویسی خیلی زیاد علاقه دارم اما نمیدونم از کجا و چطوری شروع کنم با کدوم زبان شروع کنم که توی لینوکس کاربرد داشته باشه !؟!؟!؟!؟!؟!؟!؟
حیفم میاد از این همه توانایی لینوکس استفاده نکنم
لطفاْ راهنماییم کنید
خیلی ممنون
-
زبانی مثل Python یکی از بهترین انتخابها برای شروع برنامهنویسی هستش. توی اینترنت آموزشهای فارسی اون هم میتونید پیدا کنید. با اون همه کاری هم میتونید بکنید، از کارهای تحت وب گرفته تا برنامههای کاربردی و مدیریتی و اسکریپتی و نوشتن بازی.
-
زبانی مثل Python یکی از بهترین انتخابها برای شروع برنامهنویسی هستش. توی اینترنت آموزشهای فارسی اون هم میتونید پیدا کنید. با اون همه کاری هم میتونید بکنید، از کارهای تحت وب گرفته تا برنامههای کاربردی و مدیریتی و اسکریپتی و نوشتن بازی.
برنامه هایی که با این زبان نوشته میشوند قابلیت اجرا در ویندوز رو هم دارن؟
-
برای شروع یادگیری بهتره از یه زبان ساختیافته مثل C شروع کنی. در ضمن اجرای برنامهها روی سکوهای مختلف، عموماً مستقل از زبان برنامهنویسی اون هست و به کامپایلر مورد استفاده مربوط میشه
-
با دانیال موافقم...C از پایتون سختتره،ولی اگه یاد بگیری دیگه ولش نمیکنی
بعدا اگه خواستی شیءگرا ادامه بدی،میتونی بری سراغ Vala
البته با Vala بیشتر میتونی رو سیستمعاملای nix* مانور بدی
هر چند اگه GLib درست و حسابی به ویندوز پُرت شده باشه،(که خبر ندارم اینجوری هست یا نه)میتونی رو ویندوزم ادامه بدی
-
ممنون که جواب دادین
من کلاْ چندسالی هست که دور ویندوزو خط کشیدم فقط می خوام لینوکس کار کنم .
برای شروع با C از کجا شروع کنم !؟ توی لینوکس چه نرم افزاری باید نصب کنم !؟
-
اگه از اوبونتو استفاده میکنی لازم نیست نرمافزار خاصی نصب کنی. مجموعه کامپایلرهای گنو به صورت پیش فرض نصب هستن. میتونی برنامهات رو در محیط gedit بنویسی و با gcc کامپایل کنی. با این حال برای داشتن یه تجربهی قشنگتر از برنامه نویسی توصیه میکنم آخرین نسخهی Eclipse برای C و ++C رو از سایت خودش بارگیری کنی و برنامههات رو توی اون بنویسی.
نسخهی Eclipse IDE for C/C++ Developers (includes Incubating components) مخصوص خودت رو از اینجا (http://www.eclipse.org/downloads/) بگیر
-
به نظر من هم شروع برنامه نویسی با C بهتره، چون بسیاری از زبان ها مستقیم و یا غیر مستقیم از این زبان الگو گرفتن و یادگیری C با همه ی سختیاش خیالت رو برای همیشه راحت می کنه.
یه استادی داشتیم تویه دانشگاه می گفت C یعنی شعور برنامه نویسی. بعد از C شما هر زبانی که یاد بگیرید یه برنامه نویس با اصالت هستید.
-
اگه از اوبونتو استفاده میکنی لازم نیست نرمافزار خاصی نصب کنی. مجموعه کامپایلرهای گنو به صورت پیش فرض نصب هستن. میتونی برنامهات رو در محیط gedit بنویسی و با gcc کامپایل کنی. با این حال برای داشتن یه تجربهی قشنگتر از برنامه نویسی توصیه میکنم آخرین نسخهی Eclipse برای C و ++C رو از سایت خودش بارگیری کنی و برنامههات رو توی اون بنویسی.
نسخهی Eclipse IDE for C/C++ Developers (includes Incubating components) مخصوص خودت رو از اینجا (http://www.eclipse.org/downloads/) بگیر
من هم میخوام با c++ شروع کنم برنامه نویسی رو. البته دارم دیتل دیتل رو میخونم و هنوز صفرم. این اکلیپس نیاز به یه کامپایلر داره یا خودش درونی کامپایلر داره؟
یه کامپایلری بود که میگفتن سرعتش از gcc ۲۵ درصد اگه اشتباه نکنم بیشتره.اون چی بود؟
-
من هم میخوام با c++ شروع کنم برنامه نویسی رو. البته دارم دیتل دیتل رو میخونم و هنوز صفرم. این اکلیپس نیاز به یه کامپایلر داره یا خودش درونی کامپایلر داره؟
یه کامپایلری بود که میگفتن سرعتش از gcc ۲۵ درصد اگه اشتباه نکنم بیشتره.اون چی بود؟
کامپایلر درونی چیه؟ تو گنو/لینوکس هیچ چیز درونیسازی شدهای نداریم. همهچیز برای استفادهی بقیهی برنامهها مشترکه. Eclipse هم از کامپایلر gcc که برخلاف برخی ادعاها هنوز بالاترین کارایی رو برمبنای بنچمارکهای انجامشده داره استفاده میکنه
-
برنامه هایی که با این زبان نوشته میشوند قابلیت اجرا در ویندوز رو هم دارن؟
بله. تقریبا Python به همه سیستمعاملها Port شده و همه جا قابل اجراست.
البته من هنوز همون پایتون رو برای شروع پیشنهاد میدم، اگر چه زبان اصلیای که خودم استفاده میکنم ++C هستش. دلایلام هم اینه که:
۱) درگیر مسائلی مثل Compile یا Link کردن نمیشید. کافیه ترمینال رو باز کنید، بنویسید python و شروع به برنامهنویسی کنید.
۲) چون یک Interpreter هست همون موقع نوشتن برنامه میتونه بهتون اشکال کار رو بگه.
۳) توی زبانی مثل C علاوه بر منطق اصلی برنامهنویسی باید مفاهیمی مثل اشارهگرها و چگونگی زخیره Stringها هم یاد بگیرید که برای کسی که تازه شروع کرده کمی گنگ و سنگینه.
۴) زبانی هست که اگر حتی نخواید بصورت حرفهای برنامهنویسی رو ادامه بدید میتونه توی کاربردهای روزانه براتون مفید باشه. از طرفی هم ابتدا دستتون میاد اصلا برنامهنویسی چیه.
۵) مثل C به سیستمعامل یا کامپایلر وابسته نیست، در نتیجه با چیزهایی مواجه نمیشید که ممکنه فقط توی Turbo C کار بکنه. برای مثال کسانی که تجربه دارند احتمالا قضیه conio.h رو میدونند.
۶) قسمتی هم تجربه شخصی خودمه که به کسایی که برنامهنویسی رو ابتدا با زبانهای سطح بالا (مثل Python) آموزش دادم خیلی راحتتر و بهتر قضیه رو نسبت به کسانی که با ++C یا Java شروع کردم، درک کردند و الان اگر به کسی Assembly هم بخوام آموزش بدم، اول با یک زبانی مثل Python شروع میکنم.
البته این قضیه تنها برای شروع برنامهنویسی هستش و بعد با توجه به کاری که میکنید میتونید زبان برنامهنویسیتون رو تغییر بدید و زبانهای دیگه رو یاد بگیرید. بعد هم یادگیری C و Assembly خیلی به شناختتون از کامپیوتر کمک میکنه، بخصوص Assembly.
-
یه کامپایلری بود که میگفتن سرعتش از gcc ۲۵ درصد اگه اشتباه نکنم بیشتره.اون چی بود؟
اون کامپایلر خود Intel هست که در شرایط خاص کمی سریعتره (خیلی کمتر از ۲۵ درصد، برای مقدار دقیقش باید Benchmarkها رو چک کنید). GCC در کل گزینه بهتری هست.
-
قبلش بگم من حدود ۷ ساله تو لینوکس ++C برنامه مینویسم. اما به نظر من تو لینوکس با پایتون شروع کنی بهتر از اینه که با C شروع کنی. به چند دلیل:
۱- پایتون هم امکان برنامهنویسی ساخت یافته داره و هم oop. اینجوری با همون زبونی که کار میکنی میتونی دانشت رو ارتقا بدی.
۲- اگه با c شروع کنی خیلی زود وسط پویینترا و بد قلقیاش گیر میکنی. اما پایتون روند یادگیری سریعتری داره.
۳- اگه کار خاصی که نیاز به سرعتای وحشتناک داره انجام نمیدی، استفاده از پایتون این امکان رو بهت میده که از امکانات یه زبون تفسیری مثل rttiلذت ببری. البته بگم که پایتون به عنوان یه مفسر خیلی سریعه.
۴- پایتون کتابخونه خیلی خوبی داره. علاوه بر اینکه بسیاری از کتابخونه های c به پایتون پورت شدن، کتابخونه های عالی اختصاصی خودش رو هم داره. به عنوان مثال پروژه sage رو ببین.
۵- استفاده از c عادت های غلط برنامهنویسی برات درست میکنه که کنار گذاشتنشون زمان میبره.
بعد از اینکه با پایتون راه افتادی، اگه میخواستی پروژههای با اندازه متوسط تا بزرگ کار کنی چند تا راه داری:
۱- جاوا. کامل، عالی، خوشدست. با جامعه کاربری هنرمند.
۲- تو دنیای ویندوز: #C. عالی، سبک. با بهترین ویژگیهای دلفی مرحوم و جاوا. خیلی از ابزارهایی که برای #C تولید شدن بهترین از نوع خودشونن. به علاوه تیم توسعش بسیار خلاقه.
۳- کد نیتیو: مخصوص نردها و گیکها.
کسایی که Vala توصیه کردن تا حالا یه پروژه کوچک باهاش نوشتن ببینن چه چیز مزخرفیه؟ از یارو میپرسن لهجه شما چه طوری؟ میگه فارسی بلدی؟ بـ..ش توش. نسبت Vala با #C هم دقیقا همینه.
-
+۱ برای nixoeen
-
سلام جناب MElmi
اگه ممکنه یه توضیحی راجع به native code به من بدید.
ممنون
-
زبانهای سی و پایتون اصلا با هم قابل مقایسه نیستن، یکی زبان کامپایلیه و اون یکی زبان تفسیری. به نظرم اگه کسی بخواد زبان تفسیری یاد بگیره php خیلی کاربردیتره تا پایتون
-
اما به نظر من تو لینوکس با پایتون شروع کنی بهتر از اینه که با C شروع کنی. به چند دلیل:
۲- اگه با c شروع کنی خیلی زود وسط پویینترا و بد قلقیاش گیر میکنی. اما پایتون روند یادگیری سریعتری داره.
۳- اگه کار خاصی که نیاز به سرعتای وحشتناک داره انجام نمیدی، استفاده از پایتون این امکان رو بهت میده که از امکانات یه زبون تفسیری مثل rttiلذت ببری. البته بگم که پایتون به عنوان یه مفسر خیلی سریعه.
۵- استفاده از c عادت های غلط برنامهنویسی برات درست میکنه که کنار گذاشتنشون زمان میبره.
۲- منظورتون رو میشه با مثال بزنین؟
۳-اون قضیه سرعت وحشتناک چیه؟ من با فرترن از پس برنامه هام بر میام و لی هم دنبال oop هستم و هم اینکه میخوام c++ رو یاد بگیرم.این دو زبان تو سرعت چطورن.اصلا من منظورتون رو از سرعت نفهمیدم.من برنامه هام مثلا قراره یه ماتریس ۹۰۰*۹۰۰ رو با کلی معادله جفت شده حل کنن که مسلما سرعتش برام مهمه. حالا کدوم زبان رو بهتره فرا بگیرم؟
۵- این رو هم میشه مثال بزنین.بعد این عادات بد برا c++ هم صادقن دیگه؟
ممنون.
زبانهای سی و پایتون اصلا با هم قابل مقایسه نیستن، یکی زبان کامپایلیه و اون یکی زبان تفسیری. به نظرم اگه کسی بخواد زبان تفسیری یاد بگیره php خیلی کاربردیتره تا پایتون
خب میشه برا کا تازه کارام یه توضیحی بدین ببینیم دنیا دسته کیه؟
-
۲- منظورتون رو میشه با مثال بزنین؟
۳-اون قضیه سرعت وحشتناک چیه؟ من با فرترن از پس برنامه هام بر میام و لی هم دنبال oop هستم و هم اینکه میخوام c++ رو یاد بگیرم.این دو زبان تو سرعت چطورن.اصلا من منظورتون رو از سرعت نفهمیدم.من برنامه هام مثلا قراره یه ماتریس ۹۰۰*۹۰۰ رو با کلی معادله جفت شده حل کنن که مسلما سرعتش برام مهمه. حالا کدوم زبان رو بهتره فرا بگیرم؟
۵- این رو هم میشه مثال بزنین.بعد این عادات بد برا c++ هم صادقن دیگه؟
در مورد بد قلقی c منظورم اینه که اگه بخوای از تمام امکاناتش استفاده کنی باید با مفاهیم مختلفی درگیر بشی که یادگیریشون خیلی هم ساده نیست. اما در مورد پایتون اینطور نیست.
یادگیری ++c خیلی هم عالیه. اما باز هم یادگیریش ساده نیست. البته اگه بلند مدت به برنامه نویسی فکر میکنی خوبه که پیش رو به تنت بمالی و یاد بگیریش. با یاد گرفتن ++c خیلی سریع زبونهای دیگه هم دستت میان.
در مورد سرعت باید بگم که دستگاه معادلات ۹۰۰*۹۰۰ دستگاه کوچیکیه. (البته بستگی به این داره که معادلات چقدر کوپل باشن و دستگاه چقدر dense باشه) اما به هر حال پایتو خیلی راحت و سریع این کارا رو انجام میده. به خصوص با کتابخونه numpy.
به نظرم اگه کسی بخواد زبان تفسیری یاد بگیره php خیلی کاربردیتره تا پایتون
php از اول برای توسعه وب به وجود اومد و اگرچه الان میشه ازش برای توسعه دسکتاپ هم استفاده کرد (مثل تقویم فارسیای که امید متقی باهاش برای گنوم درست کرد) اما هنوز خیلی راه داره تا به یه ابزار جدی دسکتاپ تبدیل بشه. از طرف دیگه همین الان فریمورکهای متعددی (مثل django) برای توسعه وب با پایتون وجود داره. به عنوان یه مثال نگاهی به پروژه trac بنداز.
اگه ممکنه یه توضیحی راجع به native code به من بدید.
زبونهایی مثل #c و جاوا مستقیما روی cpu اجرا نمیشن. بلکه به یه زبون میانه ترجمه میشن و یه ماشین مجازی اونها رو اجرا میکنه. (البته در واقع مساله یه کم پیچیده تره) این روش یه حسن داره اونم اینه که کدهای این زبانها بسیار مطمئنه. اما از طرف دیگه یه مشکلی که هست اینه که به علت واسطه موجود کدهای این زبونها ممکنه کندتر باشن (البته با کامپایلرهای جدیدتر این مشکل تا حدود زیادی بر طرف شده) و البته کدهای تولید شده سربار اضافی هم خواهند داشت.
از طرف دیگه تو زبونای نیتیو مثل فرترن، پاسکال، c و ++c کدها مستقیما به زبان ماشین ترجمه میشن و از تمام قدرت ماشین -به شرط مهارت برنامه نویس- استفاده میکنن.
من با فرترن از پس برنامه هام بر میام
من همیشه با کسایی که از فرترن طرفداری میکنن مشکل دارم :دی زبونهای مدرنتر رو تجربه کن تا ببینی دنیا چقدر جای بهتری برای زندگیه :)
-
۲- منظورتون رو میشه با مثال بزنین؟
۳-اون قضیه سرعت وحشتناک چیه؟ من با فرترن از پس برنامه هام بر میام و لی هم دنبال oop هستم و هم اینکه میخوام c++ رو یاد بگیرم.این دو زبان تو سرعت چطورن.اصلا من منظورتون رو از سرعت نفهمیدم.من برنامه هام مثلا قراره یه ماتریس ۹۰۰*۹۰۰ رو با کلی معادله جفت شده حل کنن که مسلما سرعتش برام مهمه. حالا کدوم زبان رو بهتره فرا بگیرم؟
۵- این رو هم میشه مثال بزنین.بعد این عادات بد برا c++ هم صادقن دیگه؟
در مورد بد قلقی c منظورم اینه که اگه بخوای از تمام امکاناتش استفاده کنی باید با مفاهیم مختلفی درگیر بشی که یادگیریشون خیلی هم ساده نیست. اما در مورد پایتون اینطور نیست.
یادگیری ++c خیلی هم عالیه. اما باز هم یادگیریش ساده نیست. البته اگه بلند مدت به برنامه نویسی فکر میکنی خوبه که پیش رو به تنت بمالی و یاد بگیریش. با یاد گرفتن ++c خیلی سریع زبونهای دیگه هم دستت میان.
در مورد سرعت باید بگم که دستگاه معادلات ۹۰۰*۹۰۰ دستگاه کوچیکیه. (البته بستگی به این داره که معادلات چقدر کوپل باشن و دستگاه چقدر dense باشه) اما به هر حال پایتو خیلی راحت و سریع این کارا رو انجام میده. به خصوص با کتابخونه numpy.
من با فرترن از پس برنامه هام بر میام
من همیشه با کسایی که از فرترن طرفداری میکنن مشکل دارم :دی زبونهای مدرنتر رو تجربه کن تا ببینی دنیا چقدر جای بهتری برای زندگیه :)
خیلی ممنونم.
والا چگال بودن دستگاه اونقد هست که ما باهاش دکتری مون رو دفاع کنیم ;) حالا اون کتابخونه numpy رو که معرفی کردین واقعا ممنونم.میرم ببینم چی هست.
c++ رو بیشتر برا کدهای محاسباتی دیگه ای که بهش نیاز دارن میخوام یاد بگیرم.
و اما فرترن. شما پیشنهادتون رو بگین.مثلا کدوم زبون. FORmula TRANslator کم زبونی نیستا.برا ما که خوب کار میکنه.حالا شما بیا یه چیز دیگه به ما معرفی کن ما میریم رو همون.
-
بخوام که برنامه نویسی با پایتون رو شروع کنم از کجا و چطوری شروع کنم !؟ چه کتابی بگیرم !؟
-
من با فرترن از پس برنامه هام بر میام و لی هم دنبال oop هستم و هم اینکه میخوام c++ رو یاد بگیرم.
اگر همین الان با فرترن برنامهنویسی میکنید و هدف یادگیری ++C هستش که مستقیم برید و ++C رو یاد بگیرید. اگر کارهای محاسباتیای که انجام میدید زیاده، فرترن محیط راحتتری رو براتون فراهم میکنه، ولی خوب توی ++C امکانات بیشتری رو خواهید داشت (البته با کار بیشتر). اگر هنوز برنامهنویسی رو شروع نکردید، پیشنهاد من اول Python بعد از مدتی هم فرترن یا ++C هست. البته باید این هم بگم که سرعت ++C بسیار بیشتر از Python هستش، ولی گاهی میتونه همون سرعت هم کافی باشه.
بخوام که برنامه نویسی با پایتون رو شروع کنم از کجا و چطوری شروع کنم !؟ چه کتابی بگیرم !؟
نگاهی به این لینک بندازید: لینک (http://www.pylearn.com/fa/wiki/index.php/%D8%B5%D9%81%D8%AD%D9%87%E2%80%8C_%D8%A7%D8%B5%D9%84%DB%8C)
به نظرم اگه کسی بخواد زبان تفسیری یاد بگیره php خیلی کاربردیتره تا پایتون
از چه لحاظ کاربردیتره؟ و چه مزیتی نسبت به Python دیدید توش؟ البته جز کاربردهای تحت وب، چون در اون صورت خودم هم با وجود پیشرفتهایی که Python کرده، به دلیل امکانات اکثر هاستها و ابزارها و نرمافزارهای موجود تحت PHP، پیشنهاد من هم PHP خواهد بود.
-
والا چگال بودن دستگاه اونقد هست که ما باهاش دکتری مون رو دفاع کنیم
چگال بودن دستگاه معادلات خطی به این معنیه که چقدر از خونههای ماتریس ضرایب غیر صفر هستن. مثلا اگه تا حدود ۱۰٪ از عناصر ماتریس ضرایب غیرصفر باشن بهش ماتریس خلوت sparse و در غیر این صورت بهش ماتریس چگال dense میگن. در صورت استفاده از روشهای تکرار iterative معمولا ماتریسهای چگال تلاش محاسباتی بیشتری برای حل نیاز دارن. البته معیار دقیقتر میزان positive definity ماتریس هست که از حوصله این انجمن خارجه.
شما پیشنهادتون رو بگین.مثلا کدوم زبون. FORmula TRANslator کم زبونی نیستا.برا ما که خوب کار میکنه.حالا شما بیا یه چیز دیگه به ما معرفی کن ما میریم رو همون.
البته فرترن در زمان خودش زبون خیلی خوبی بوده. بسیاری از نرمافزارهای علمی جهان باهاش توسعه داده شدن. ولی مشکل اصلی فرترن سینتکس فوقالعاده قدیمیشه. کسی که با فرترن برنامه مینویسه خیلی راحت ممکنه خطا کنه و در نهایت کد تولید شده هم خوانایی کمی داره. به علاوه امکانات زبانهای جدیدتر مثل oop و اشارهگر ها اگرچه به فرترن اضافه شدن، اما وصله ناجوری هستن. به خاطر همین پیاده کردن ساختمان دادهها تو فرترن بسیار مشکله.
من به جای فرترن -اگه واقعا بهش نیاز دارید- ++c رو معرفی میکنم.
البته جز کاربردهای تحت وب، چون در اون صورت خودم هم با وجود پیشرفتهایی که Python کرده، به دلیل امکانات اکثر هاستها و ابزارها و نرمافزارهای موجود تحت PHP، پیشنهاد من هم PHP خواهد بود.
ممنون. نکته مهمی اشاره کردید که جا انداخته بودم.
-
حرف از خطا تو فرترن زدین دل ما آتیش گرفت ](*,)
من به جای فرترن -اگه واقعا بهش نیاز دارید- ++c رو معرفی میکنم.
نیاز که دارم.باید برنامه بنویسم دیگه.
و دلیلش؟ یکی همون سینتکس و یکی هم سرعتش.؟؟
ببینین من هنوز به مرحله حل عددی مسئله نرسیدم ولی دوستان ی که از من جلو ترن مثلا ماتریس ۳۰۰*۳۰۰ اش رو البته با کلی اقریبها که اعمال کردن رو مسئله تو چند دقیقه جواب میگیرن با فرترن تو ویندوز.
حالا با این حساب و با این مسئله پیش رو بنظرتون کدوم زبون بهتره؟ پایتون با وجود اینکه مفسره ایرادا توش زودتر نمایان میشن؟ من هیچی از زبونای تفسیری و پایتون نمیدونم.ولی کمی c++ رو کلاس رفتم و کمی هم خوندم در موردش خودم.
-
بخوام که برنامه نویسی با پایتون رو شروع کنم از کجا و چطوری شروع کنم !؟ چه کتابی بگیرم !؟
من پیشنهاد میکنم برای شروع به لینک زیر مراجعه کنید.بهترین مرجع برای شروع یادگیریه پایتون کتاب a byte of python ئه:
http://www.swaroopch.org/notes/Python (http://www.swaroopch.org/notes/Python)
-
سلام !
من برنامه نویس نیستم ولی یکمی آشنایی دارم البته با زبان های برنامه نویسی تحت وب
در کل بهتون بگم دو نوع زبان برنامه نویسی داریم
برخی زبان ها مادر هستن و مستقیم روی رایانه اجرا میشن
مانند زبان برنامه نویسی c
یه سری زبان ها هم هستن که از طریق یک زبان دیگه روی رایانه اجرا میشن که بهشون میگیم اسکریپت
مثلا php اسکریپت هست که روی زبان c از طریق وب سرور(آپاچی و ... ) اجرا میشه
به نظر من عجله نکن اول یه هفتع تحقیق کن در مورد برنامه نویسی ببین کدوم برات مناسب تره برو دنبال اون
ولی به نظر من الان به جای این که وقت بزاری برای زبان هایی مثل سی - سی پلاس - فایتون
بهتره زبان های تحت وب رو یاد بگیری مثل پی اچ پی
چون نون توش بیشتره :)
البته اگه برای برنامه نویسی برای سیستم عامل اینا میخوای باید سی و امثال اون رو یاد بگیری
این زبان های مادر ربطی به سیستم عامل ندارن و روی همه چی اجرا میشن (سیستم عامل ها خودشون به این زبان ها نوشته میشن )
البته برای اجرا روی یک سیستم عامل خاص باید کامپال بشه برای اون سیستم عامل
البته من اطلاعاتم خیلی کم و ناقصه توصیه میکنم یه مطالعه درست حسابی در این مورد داشته باشی
-
باید بگم به طور کلی سه نوع زبان برنامه نویسی داریم:
۱- زبان های کامپایلری
۲- زبان های مفسری
۳- زبان های کامپایلری - مفسری که بهشون p-code هم می گن.
زبان های کامپایلری سرعت خیلی خوبی دارن ولی وقتی شما برنامتون رو برای یک سکوی خاص کامپایل می کنید، بر روی سکویی با معماری متفاوت اون برنامه قابل اجرا نیست در نتیجه باید نسخه های مختلفی با استفاده از کامپایلرهای مختلف که برای سکوهای مختلف نوشته شدن بسازید.
زبان های مفسری که هر خط تک تک تفسیر و اجرا میشن زبان های هستن که الان خیلی تو بورس هستن که گل سرسبدشون هم پایتونه. اما این زبان ها هم نیاز به مفسرهای مختلف برای سکوهایی با معماری متفاوت دارن.
اما زبان های نوع سوم یعنی p-code به خاطر داشتن یک ماشین مجازی واسط که برنامه برای اون ترجمه میشه و بعد ماشین مجازی اون رو اجرا می کنه بهترین تعریف از استقلال از پلتفرم رو دارن. زبان هایی مثل جاوا که فوق العادست ولی به دلیل وجود یک واسط ( ماشین مجازی) کمی سرعت اجراشون کم تره که هرچند تو نسخه های جدید خیلی کمتر به چش میاد.
-
زبان های مفسری که هر خط تک تک تفسیر و اجرا میشن زبان های هستن که الان خیلی تو بورس هستن که گل سرسبدشون هم پایتونه. اما این زبان ها هم نیاز به مفسرهای مختلف برای سکوهایی با معماری متفاوت دارن.
اما زبان های نوع سوم یعنی p-code به خاطر داشتن یک ماشین مجازی واسط که برنامه برای اون ترجمه میشه و بعد ماشین مجازی اون رو اجرا می کنه بهترین تعریف از استقلال از پلتفرم رو دارن. زبان هایی مثل جاوا که فوق العادست ولی به دلیل وجود یک واسط ( ماشین مجازی) کمی سرعت اجراشون کم تره که هرچند تو نسخه های جدید خیلی کمتر به چش میاد.
ناگفته نمونه از لحاظ استقلال از پلتفرم گزینه دوم و سوم با هم فرق ندارند و همونطور که نیاز به مفسرهای مختلف برای سکوهایی با معماری متفاوت هست، همون نیاز هم برای ماشینهای مجازی متفاوت برای سکوهایی با معماری متفاوت هست ;)
-
زبان های مفسری که هر خط تک تک تفسیر و اجرا میشن زبان های هستن که الان خیلی تو بورس هستن که گل سرسبدشون هم پایتونه. اما این زبان ها هم نیاز به مفسرهای مختلف برای سکوهایی با معماری متفاوت دارن.
اما زبان های نوع سوم یعنی p-code به خاطر داشتن یک ماشین مجازی واسط که برنامه برای اون ترجمه میشه و بعد ماشین مجازی اون رو اجرا می کنه بهترین تعریف از استقلال از پلتفرم رو دارن. زبان هایی مثل جاوا که فوق العادست ولی به دلیل وجود یک واسط ( ماشین مجازی) کمی سرعت اجراشون کم تره که هرچند تو نسخه های جدید خیلی کمتر به چش میاد.
ناگفته نمونه از لحاظ استقلال از پلتفرم گزینه دوم و سوم با هم فرق ندارند و همونطور که نیاز به مفسرهای مختلف برای سکوهایی با معماری متفاوت هست، همون نیاز هم برای ماشینهای مجازی متفاوت برای سکوهایی با معماری متفاوت هست ;)
بله درسته ولی بازهم تفاوتی در این موضوع هست. در زبان های مفسری شما نیاز دارید برای اینکه برنامه تون رو روی یک پلترفم دیگه با معماری متفاوت اجرا کنید، سورس کد برنامه رو ببرید اونجا و تفسیرش کنید. در حالی که در زبان های p-code شما اون فایله میانی که برای ماشین مجازی به وجود اومده رو میبرد و به وسیله ماشین مجازی که نصب هست اجرا می کنید
-
حرف از خطا تو فرترن زدین دل ما آتیش گرفت ](*,)
من به جای فرترن -اگه واقعا بهش نیاز دارید- ++c رو معرفی میکنم.
نیاز که دارم.باید برنامه بنویسم دیگه.
و دلیلش؟ یکی همون سینتکس و یکی هم سرعتش.؟؟
ببینین من هنوز به مرحله حل عددی مسئله نرسیدم ولی دوستان ی که از من جلو ترن مثلا ماتریس ۳۰۰*۳۰۰ اش رو البته با کلی اقریبها که اعمال کردن رو مسئله تو چند دقیقه جواب میگیرن با فرترن تو ویندوز.
حالا با این حساب و با این مسئله پیش رو بنظرتون کدوم زبون بهتره؟ پایتون با وجود اینکه مفسره ایرادا توش زودتر نمایان میشن؟ من هیچی از زبونای تفسیری و پایتون نمیدونم.ولی کمی c++ رو کلاس رفتم و کمی هم خوندم در موردش خودم.
اگه حل یه ماتریس ۳۰۰*۳۰۰ داره ۲ دقیقه زمان میبره پیش از هر چیز مشکل از روشیه که داره برای حل استفاده میشه و ربطی هم به زبون برنامهنویسی نداره. من خودم عددی کارم و با ماتریسهای تا صدهزار در صدهزار هم کار کردم. برای ماتریسهای ۱۰۰۰۰*۱۰۰۰۰ زمان حل من حدود ۱۰ تا ۲۰ ثانیه بود. در مورد روش حل میتونیم بیشتر صحبت کنیم. پیشنهاد میکنم آنالیز عددی یا آنالیز تابعی مطالعه کنی.
در حالت کلی اگه حل دستگاه ماتریست به تعداد دفعات بالا انجام نمیشه (مثلا تو حلقه بهینهسازی یا تحلیل عدم قطعیت نمیفته) خیلی اینکه زمان حلت ۲ دقیقه باشه یا ۵ دقیقه مهم نیست. یعنی اگه من بودم واسه این چیزا سراغ ++c نمیرفتم. اما خوب من آدمی هستم که برای حل مسائل سیالات گاهی اجراهام تا ۱۶ ۱۷ ساعت طول میکشه. واسه همینم نه تنها با فرترن برنامه نمینویسم، بلکه از تکنولوژیهای پردازشی معمول هم استفاده نمیکنم. بماند.
در مورد مقایسه ++c و پایتون خلاصه بگم: پایتون گیجت نمیکنه و راحتتره. همین. یه سرچ بزنی benchmarkهای متعددی برای مقایسه سرعت اینا پیدا میکنی.
-
حالا یه سوالی:
numerical recipies برای پایتون هم موجوده؟
-
سلام به دوستان خودم من قبلا تجربه برنامه نویسیvbرو در محیط ویندوز داشتم.میشه یکی جوابمو بده که ایا توابعی مثل apiکه کارهای سیستم عامل از جمله restartکردن یا پخشmp3رو میکنه در پایتون چه طوره؟
-
در مورد مقایسه ++c و پایتون خلاصه بگم: پایتون گیجت نمیکنه و راحتتره. همین. یه سرچ بزنی benchmarkهای متعددی برای مقایسه سرعت اینا پیدا میکنی.
به نظر من اگه هدفتون از برنامه نویسی نوشتن برنامه ایه که بخواد با مسایل ریاضاتی کار کنه مجبورید برید سراغ C/C++ چون که خیلی امکانات و انعطاف پذیری هایی دارن که زبان های دیگه ندارن.همچنین سرعت.
اما اگه هدف نوشتن برنامه های ساده(البته از نظر پردازش داده)است یا با توجه به پلتفرمی که روش کار میکنید باید برید سراغ پایتون (لینوکس) یا سی شارپ (ویندوز) یا بقیه مثل جاوا.
اما واقعا زبان C++ بهترین گزینه واسه لینوکسه
-
html5 (http://books.wedesign.ir/html5-css3.html)برای شروع برنامه نویسی از صفر خوبه؟
اریک ریموند (http://jadi.net/2011/01/saveshe-hacker-shodan/) میگه با c و پرل شروع نکنید!درست میگه؟
-
html5 (http://books.wedesign.ir/html5-css3.html)برای شروع برنامه نویسی از صفر خوبه؟
اریک ریموند (http://jadi.net/2011/01/saveshe-hacker-shodan/) میگه با c و پرل شروع نکنید!درست میگه؟
در پاسخ پرسش نخست میشه گفت که آیا خیار برای نهار مناسبه ؟ ممکنه پاسخ یجورایی این باشه برای تعدادی آره و برای تعدادی نه ولی پاسخ درستر اینه که نهار باید ویژگیهایی داشته باشه که خیار نداره
برای یادگیری برنامه نویسی باید یک زبان برنامه نویسی کار کنی نه یک زبان نشانه گذاری برای طراحی وب (البته این ممکنه برای خیلیها درست نباشه)
اگه اریک ریموند اون حرف رو زده من ترجیح میدم سکوت کنم و نگم که به نظر من C++ برای یادگیری بسیار مناسبه نگم
-
یک سوال برای من ایجاد شده که پایتون میتونه برنامه گرافیکی مثله ویژوال استودیو باهاش نوشت من تازه شروع کردم به یاد گرفتن و هر چی میخونم بیشتر شیفته اش میشم ممنون
-
چرا که نه! با PyQT
-
مستندات PyQT را از کجا میشه پیدا کرد ؟
-
اینجا (http://www.google.com/search?q=pyqt)