PDA

View Full Version : علت تدریس زبان سطح پایین؟



بهزاد علی محمدزاده
سه شنبه 15 دی 1388, 21:50 عصر
سلام
این زبان هایی که در دانشکده ها و دانشگاه ها برای شروع از اونها استفاده میشه ، مثل پاسکال ، سی و سی پلاس پلاس ++c , c و pascal ... آیا این زبان ها در یادگیری و فهم برنامه نویسی تاثیر دارن ؟
...
( . . . می گویند فهمیدن برنامه نویسی از نوع زبان جداست ، و بزرگترین مشکل ما تازه کارها همین فهمیدن برنامه نویسی است .
من پیش خودم فکر کردم که شاید اشتباهی که ما تازه کارها می کنیم اینه که برای شروع یه دفعه میریم سراغ یه زبان سطح بالا ، و بعد از فصل حلقه هاو شرط ها ، دیگه هیچی از اون زبان نمی فهمیم ، و کار برامون بسیار سخت میشه ، شاید علتش اینه که ما از زبان سطح پایین شروع نکردیم .

از یه شخصی شنیدم که می گفت یاد گیری ++C یعنی فهمیدن زیرساخت های برنامه نویسی ، و وقتی شما این به اصطلاح زیر ساخت ( یا هر جمله دیگری ) رو یاد بگیری ، بعد زبان های سطح بالا رو می فهمی . . . )
...
آیا این گفته صحت داره ؟
آیا این زبانهایی که توی دانشگاه ها برای شروع تدریس میشن ، تاثیری در یادگیری و فهم برنامه نویسی داره ؟
آیا ما باید این ها رو اول بفهمیم ، بعد بریم سراغ زبانهای سطح بالا مثل دات نت و جاوا و ... ؟

یا اصلا نیازی نیست ؟ آخه بعضی ها معتقدند که تدریس اون زبانها به این علته که دانشگاه ها به روز نشدن ، آیا تدریس این زبان ها به این خاطره که دانشگاه ها به روز نشدن ، یا نه ، یادگیری این زبان ها الزامیست ؟
...
( دانستن این موضوع روی نحوه یادگیری ما تو این زبان ها تاثیر داره ... لطفا راهنمایی کنید )

Mrs.Net
سه شنبه 15 دی 1388, 22:53 عصر
یادگیری یک زبان برنامه نویسی یا یادگیری زبان برنامه نویسی
زبانی که به عملکرد و نحوه پردازش کامپیوتر نزدیکتر باشه شمارو به یادگرفتن اصولی برنامه نویسی بیشتر کمک میکنه چون با نحوه عملکرد کامپیوتر آشنا میشید اما لزوما این دلیل نمیشه از این زبان برای برنامه نویسی استفاده کنید چون دیگه هدف یادگیری نیست بلکه استفاده هست.
درنتیجه با یک زبان نزدیک به زبان کامپیوتر شروع به یادگیری کردن و درنهایت با یک زبان توسعه یافته درزمینه محصولی که میخوایم بسازیم شروع به برنامه نویسی کردن میتونه هم قدرت تجزیه تحلیل بالایی به ما بده و هم سرعت و زیبایی در محصول نهایی.
البته این فلسفه دروس دانشگاهی هست اما دلیل اینکه چرا زبان پاسکال!! تو دانشگاههای ما تدریس میشه میتونه چیزهای دیگه ای باشه. چون بنظر من پاسکال سینتکس غیرمنطقی داره و درمقابلش c بسیار آموزنده هست.

AMIBCT
سه شنبه 15 دی 1388, 22:54 عصر
یادگیری یه زبان پیشرفته مثل C++‎‎‎ برای یه تازه کار واقعا یه مصیبت می‌تونه باشه
و حتی شاید فرد رو از یادگیری دلزده و ناامید کنه

زبان‌های پاسکال و Basic برای یادگیری برنامه‌نویسی طراحی شدن
و خیلی از زیرساخت‌ها رو از دید کاربر مخفی می‌کنن

وقتی شما یکی از این دو زبان رو یاد بگیرید
یادگیری بقیه زبان‌ها ساده‌تر می‌شه

البته این دو زبان دیگه قدیمی شدن
و الان نسخه‌های جدیدتر اونا برای آموزش برنامه‌نویسی توسعه پیدا کردن
برای مثال مایکروسافت محیط Small Basic رو توسعه داده که کار یادگیری رو خیلی ساده‌تر می‌کنه

بهزاد علی محمدزاده
چهارشنبه 16 دی 1388, 08:42 صبح
پس در واقع کسانی که بدون آموزش و یادگیری این زبانها ، خودشون یه دفعه یه کتاب سی شارپ می خرن و شروع به برنامه نویسی می کنن .. بعد هم به مشکل بر می خورن ، علتش اینه که برنامه نویسی رو باید از زبان ها آموزشی شروع کرد .
چون اگر قرار بود با سی شارپ برنامه نویسی آموزش داده بشه ، دیگه لازم نبود مایکروسافت Small Basic توسعه بده .
...
من درست فهمیدم ؟

Asad.Safari
چهارشنبه 16 دی 1388, 14:15 عصر
پس در واقع کسانی که بدون آموزش و یادگیری این زبانها ، خودشون یه دفعه یه کتاب سی شارپ می خرن و شروع به برنامه نویسی می کنن .. بعد هم به مشکل بر می خورن ، علتش اینه که برنامه نویسی رو باید از زبان ها آموزشی شروع کرد .
چون اگر قرار بود با سی شارپ برنامه نویسی آموزش داده بشه ، دیگه لازم نبود مایکروسافت Small Basic توسعه بده .
...
من درست فهمیدم ؟

وقتی که شما Qbasic و یا Pascal یاد میگیرید در واقع زبان برنامه نویسی یاد نمی گیرید , شما الگوریتم و فلوچارت رو یاد میگیرید . ایراد کسایی که مستقیم پریدن رو #C و یا محیط های برنامه نویسی Wizard ای این است که الگوریتم حالیشون نیست شما فکر نکن اونی که ادعا داره داره #C می نویسه میتونه با ++C هم بنویسه چونکه همش دستش تو کاره Wizard اه . کسایی که Wizard کارند برنامه نویس نیستند . زبان برنامه نویسی سطح پایین مانند C بنیه و فونداسیون برنامه نویس است . کسی که بنیه نداشته باشه , مثل ... است .

موفق باشید

بهزاد علی محمدزاده
پنج شنبه 17 دی 1388, 12:35 عصر
من داره دستگیرم میشه ( یعنی شده ) که چرا ما اینقدر مشکل داریم تو فهم برنامه نویسی ...
ممنون

vcldeveloper
پنج شنبه 17 دی 1388, 18:30 عصر
بنظر من پاسکال سینتکس غیرمنطقی داره و درمقابلش c بسیار آموزنده هست.
خب، این نظر شخصی شما ست. خیلی ها هم معتقد هستند که خیلی از اصولی که امروزه در برنامه نویسی مطرح هست، در Syntax زبانی مثل C لحاظ نشده، و محبوبیت C و گسترش آن در روزگار اخیر عمدتا به خاطر اعطای یونیکس به دانشگاه ها توسط شرکت AT&T بوده، چون این سیستم عامل یک سیستم عامل رایگان و مفت برای دانشجویان محسوب میشده، و زبان برنامه نویسی برای آن هم C بوده. همین دانشجویان افرادی هستند که بعدها مشاغل مهمی در صنعت IT به دست آوردند، و این شد که سیستم عامل هایی مثل لینوکس بر پایه یونیکس طراحی شدند، و زبان کرنل شان شد C، و در ویندوز هم اگر چه بر پایه یونیکس نبود، به خاطر رویکرد برنامه نویسی در آن زمان، از C برای نوشتن کرنل و درایور ها استفاده شد، و به تدریج کاربرد C گسترش زیادی پیدا کرد.

به عنوان نمونه، یکی از مشکلات ذاتی Syntax زبان C نسبت به زبانی مثل پاسکال Readability آن هست. در زبان C تاکید بر روی موجز بودن دستورات بوده، در حالی که در زبانی مثل پاسکال روی Readability تاکید زیادی شده. در زبان های جدیدی که در دهه نود یا قرن بیست و یک ابداع شدند و معروف شدند هم، اگر چه سعی شده به خاطر عادت برنامه نویسان برخی از ساختارهای اصلی زبان C مثل {} حفظ بشند، ولی گرایش به سمت Readability بالاتر بوده، مثل جاوا یا #C.


البته این فلسفه دروس دانشگاهی هست اما دلیل اینکه چرا زبان پاسکال!! تو دانشگاههای ما تدریس میشه میتونه چیزهای دیگه ای باشه.
علت وجود پاسکال در برنامه درسی دانشگاه ها تاکید زیاد آن بر روی اصول Structural Programming، و سادگی Syntax آن بوده. این دو ویژگی باعث میشه که بتوان بسیاری از مفاهیم پایه ایی برنامه نویسی را به دانشجویان تدریس کرد، بدون آنکه آنها را درگیر Syntaxهای عجیب و غریب کرد. از طرف دیگه سخت گیری های زبانی مثل پاسکال در مقایسه با زبانی مثل C باعث میشه که دانشجو مجبور به رعایت قوانین و اصول باشه، چه در بحث ساختار برنامه های نوشته شده، و چه در مباحث مربوط به Type-safty در زبان های برنامه نویسی.

البته این روزها با توجه به اینکه اینگونه اصول در زبان هایی مثل جاوا رعایت میشند، منابع بیشتری برای اینگونه زبان ها موجود هست، و بازار کار بهتری دارند، و توجه ویژه به برنامه نویسی شی گرا؛ در خیلی از دانشگاه های دنیا بجای پاسکال از جاوا برای تدریس اصول اولیه یا حتی مهارت های پیشرفته برنامه نویسی استفاده می شود.

مصطفی ساتکی
پنج شنبه 17 دی 1388, 20:17 عصر
زبان برنامه نویسی سطح پایین مانند C بنیه و فونداسیون برنامه نویس است . کسی که بنیه نداشته باشه , مثل ... است
اینو کی گفته بنیه است که شما تو یه تاپیک اینو تکرار می کنی.دلیل و مدرک بیار.همه اینای که شما می فرماید به برنامه نویس بستگی .زبان c در ضمن زبان سط پایئن نیست . اینارو کی به شما گفته.شما برای درک صحیح از کامپایلر به تاریخچشون و نظارت افرادی که انارو پیدا سازی کردن توجه کنید نه به نظرات شخصی خودتون.در ضمن اینجا آف نیست که نظر شخصی تاپیک می زنید هر حرفی که زده میشه پشتش بایستی منطق باشه

saeed55sd
پنج شنبه 17 دی 1388, 20:48 عصر
سلام

اولاً این زبان ها که میگید ( ++C , C ) سطح میانه و پاسکال زبان سطح بالا هستش و تنها زبان سطح پایینی که تو دانشگاه ها درس داده میشه اسمبلی هست که چون باید با سخت افزار ارتباط برقرار کنن و برای AVR و IC ها برنامه بنویسن تدریس اسمبلی کاملاً لازم هستش

و باید بدونین که زبانهایی مثل ++C , C زبانهای ضعیف و کمی نیستن و الان خیلی جاها داره ازشون استفاده می شه و اگر می بینید که در دانشگاه ها خیلی ابتدایی به نظر می رسن بخاطر این هستش که کسانی که شروع به یادگیری این زبونها می کنن قالباً هیچ پیش زمینه ای ندارن و چون درک بعضی مطالب و قبول بعضی از اونها کمی سخت هستش (مخصوصاً برای خانمهای دانشجو) و خط به خط برنامه براشون سوال هست

همین دایرکت ایکس که تو ویندوز نصب می کنید مشابه و منبع بازش OpenGl هست که تو محیطهای C# , C++ , C نوشته میشه

و اگر منظورتون از زبان سطح پایین و سطح بالا همون windows application و console application هستش خوب شما برای نوشتن برنامه های windows باید برنامه نویسی رو با مفاهیمش کاملاً بلد باشید و اگر بخواهید در Windows برنامه نویسی رو یاد بگیرید مطمئناً مفاهیم و برخی مسائل رو یاد نخواهید گرفت مانند کار با فایلها، لیست پیوندی، برنامه ریزی پورتها و ...

شما اگر بتونید ++C رو به طور کامل یادبگیرید خیلی کمکتون می کنه:لبخندساده:

بهزاد علی محمدزاده
پنج شنبه 17 دی 1388, 22:24 عصر
ممنون از راهنمایی ها .
این که گفته شده زبان ها سطح پایین ، علت ناشی بودن منه ، خب تازه کاریه دیگه ...
...
من این سوال مطرح کردم که به نظر اجمالی برسم .
...
مشکلاتی که ما تازه کارهای علاقه مند باهاش مواجهه هستیم ، اینه که تدوین و تعریف جامعی که مورد توافق اکثریت هم باشه ، در مورد مراحل برنامه نویسی رو نداریم . ممکنه این مراحل وجود داشته باشه ، اما ما یه مقداری تو انتقال این مطلب بصورت تجربی عمل می کنیم .
ما خیلی این سوال ها رو می بینیم که می پرسن برای شروع برنامه نویسی از چه زبانی ؟
برای شروع وب PHP یا ASP ؟
برای شروع جاوا یا سی شارپ ؟
پاسخ هایی که معمولا به این سوالها داده میشه ، وارد اختلاف نظرها میشه ، یکی میگه کتابخانه جاوا از سی شارپ غنی تره و جدا از سیستم عامله ، یکی دیگه جواب میده که سی شارپ هم این مزیت ها رو داره ...
و سوال کننده های این بحث ها اصلا برنامه نویسی بلد نیستن ، و اومدن برای شروع سوال می کنن ! این وسط اون چیزی که معمولا فراموش میشه ، اینه که از طرف خیلی کم پرسیده میشه که شما اصلا برنامه نویس هستی ؟ اگه برنامه نویس هستی خب مزیت زبانها تشریح شد دیگه شما برو تجربه کن و .. اما اگه می خوای شروع کنی ؟ ، آیا برای شروع مثلا php زبان مناسبیه ؟
...
از کسانی هم که دور و برمون دانشگاه درس می خونن ، وقتی سوال می کنیم ، میگن بابا ما عقب مونده ایم و دانشگاه ما داره پاسکال تدریس می کنه ! ( اقلا نتیجه تحقیقات من این بوده )
...
خلاصه اینکه خیلی ها اینجوری آواره برنامه نویسی شدن ، از php میزنن به جاوا ، از سی شارپ به وی بی و آخر سر هم از حلقه ها بیشتر نتونستن برن .
...
تحقیقات من به این نتیجه رسیده :
دوستی پیشنهاد کرده مباحث ساختمان داده رو پیگیری کنم
بعد الگوریتم . کتاب هم پیشنهاد کردن
بعد اون زبانی که توی دانشگاه به عنوان آموزش تدریس می کنن ، حالا نمی دونم پاسکال باشه یا زبان دیگه و برام مهم نیست ، مهم این بود که دونستم آموزش اینها به خاطر عقب موندگی نیست .
...
این تحقیق من مورد اجمال شما دوستان هست ؟> آیا چیز دیگری هست که بهش اضافه کنید ؟
...
( دونستن این مراحل به من کمک می کنه که هدفم و بشناسم ، و بدونم باید چیکار بکنم . )

Felony
پنج شنبه 17 دی 1388, 22:50 عصر
از کسانی هم که دور و برمون دانشگاه درس می خونن ، وقتی سوال می کنیم ، میگن بابا ما عقب مونده ایم و دانشگاه ما داره پاسکال تدریس می کنه ! ( اقلا نتیجه تحقیقات من این بوده )
خوب این گفته همونطور که گفتید از سر بی اطلاعی هست .

در کل شما اول الگوریتم و ... رو کامل یاد بگیر و بعد برای خودت معلوم کن با زبان برنامه نویسی میخوای چی کار کنی ؟ میخوای پول دربیاری ؟ میخوای پروژه علمی و تحقیقاتی و ... انجام بدی ؟ یا ...

بعد به جای پرسیدن اینکه از کجا شروع کنم و با چی شروع کنم ، برو دنبال مزیت ها و معایب زبان های برنامه نویسی که به کارت نزدیکه و کارتو راه میندازه ، هر کدوم مزیتش بیشتر بود یا مزیتش بر معایبش برای شما قالب بود انتخاب کن ، البته یادت باشه که اگر میخوای از این راه پول در بیاری کمی در انتخاب تفاوت میکنه ، ولی در اصل موضوع دخیل نیست .

:چشمک:امیدوارم موفق باشید .

JaguarXF
جمعه 18 دی 1388, 06:25 صبح
مثال بزنم :
آخه شما بستگی داره چه دیدی به نرم افزاری که مینویسی داشته باشی که این سوال رو بپرسی اصلا.
وقتی توی شرکت به این نتیجه رسیدید که باید یک Middle-ware برای کلیه برنامه ها تون داشته باشید اون موقع معلوم میشه برنامه نویس خبره در سی و جاوا به چه کار میاد و فرقشون با برنامه نویس معمولی کجاهاست.

تا وقتی طرز فکر و انتظارت به برنامه ای هست که توی یک فرمی چند تا تکست باکس باشه که دیتا رو بگیره و توی یک فرم دیگه امکان جستجو و پرینت کردن همون دیتا رو بده . معلومه که واقعا الگوریتم و ساختمان داده و ... به هیچ دردی نمیخوره .
باید ورک فلو و روند پراسس همین برنامه ها اونقدر پیچیده بشه که بدون استفاده از استفاده از درسهای طراحی الگوریتم نمیشه دیتاییی که میخوای رو توی همون گرید هم نشون بدی!
مثال شخصی: ما خودمون یک تیم در شرکت داریم که این تیم فقط وظیفه اش طراحی الگوریتم های بهینه برای مواردی هست که تیمهای دیگر بهش نیاز دارند. کم تحصیلات ترینشان! هم فوق لیسانس های علوم کامپیوتر و ریاضی هستند.

بهزاد علی محمدزاده
جمعه 18 دی 1388, 07:32 صبح
نگرش من نسبت به این زبان ها خیلی عوض شد ، و چیزهای جدید تری هم مثل ساختمان داده رو هم فهمیدم .
اما نظرتون در مرد نتیجه تحقیقات هم بگید ممنون میشم ، می خوام بحث به نتیجه اجمالی برسه .
...
1. اول ساختمان داده
2.الگوریتم
3. زبان های میانی یا سطح پایین مثل c , pascal,Basic
...
نظرتون در این مورد چیه ؟ چیزی هست به این اضافه بشه ؟ اول ساختمان داده بعد الگوریتم ترتیب درستیه ؟

vcldeveloper
جمعه 18 دی 1388, 18:04 عصر
ببین دوست عزیز، در دانشگاه باید یک سری مفاهیم برنامه نویسی و توسعه نرم افزار را به شما آموزش بدند. برای یادگیری اکثر این مفاهیم نیاز به یک زبان برنامه نویسی هست که شما از طریق آن با مفاهیم مربوطه عملا آشنا بشید، و در کنار آن به کدنویسی و مسائل مرتبط با آن هم عادت کنید.
برای انتخاب همچین زبان هایی حداقل دو فاکتور مهم وجود داره، یکی امکانات آن زبان خاص برای یادگیری یک سری مفاهیم خاص توسط دانشجو، و دوم کاربرد آن زبان برنامه نویسی خاص در حوزه های مختلف، مثل بازار کار.
استاد شما، یا دانشگاه شما، یا وزارت علوم با توجه به این دو فاکتور اصلی مشخص می کنند که در هر درسی از چه زبان برنامه نویسی استفاده بشه. مثلا ممکن هست شما یک Course برای آشنایی با برنامه نویسی داشته باشید، که در آن چندان خودتان کد نویسی نمی کنید، بلکه بیشتر یک سری اصول اولیه به شما تدریس میشه، سعی میشه علاقه شما به برنامه نویسی برانگیخته بشه، و بیشتر کدهایی که با آنها سر و کار دارید، کدهایی هستند که استاد خودش نوشته. خب برای همچین Courseایی، یک استاد زبانی را انتخاب میکنه که اولا خوانایی آن بالا باشه، و دانشجو بدون داشتن مهارت های برنامه نویسی هم بتواند با مشاهده کد، تا حدی کارکرد آن را متوجه شود؛ ثانیا زبان مربوطه خیلی سخت گیرانه عمل نکند، به طوری که دانشجو به خاطر قواعد سخت گیرانه آن زبان، کلا از برنامه نویسی خسته و دلگیر شود. برای همچین درسی ممکن هست یک استاد از Basic یا Python استفاده کنه. اینکه استاد برای همچین درسی فرضا از Basic استفاده کرده، به معنی آن نیست که بازار کار برنامه نویسی حول زبان Basic میچرخه! بلکه استاد با توجه به نیازهایی که در اون Course داشته، زبان Basic را برای یادگیری مفاهیم آن Course توسط دانشجویان مناسب تشخیص داده.
در یک Course دیگه، استاد میخواد فرضا مهندسی نرم افزار، و به طور خاص تولید نرم افزار با استفاده از شیوه های شی گرا را تدریس کنه؛ برای همچین Courseایی، استاد اولا دنبال زبانی میره که دانشجو را مجبور به استفاده از شی گرایی کنه، مثل جاوا، تا دانشجو مجبور باشه با این مفاهیم درگیر بشه؛ ثانیا این استاد ممکن هست به بازار کار هم توجه داشته باشه، و با توجه به بازار کار پیش روی دانشجویان زبان شی گرایی که باز خوبی هم داره را انتخاب کنه، تا دانشجو بعد از فارغ التحصیلی شرایط بهتری برای جذب در بازار کار داشته باشه.

در برخی از Course ها استاد یا دانشگاه مجبور هست با توجه به Courseهای بعدی دانشجو از زبانی خاصی استفاده کنه؛ مثلا استاد میدونه که کرنل اکثر سیستم عامل های مدرن، یا اکثر کامپایلرها با زبان C نوشته شدند، در چنین شرایطی، دانشجو باید قبل از اینکه به واحدهای مرتبط با کامپایلرها و سیستم عامل ها برسه، شناخت خوبی از این زبان داشته باشه، وگرنه در اون واحد ها گیر میکنه. در همچین شرایطی چندان بحث خوب و بد بودن یک زبان معنا نداره، استاد یا دانشجو چه خوششان بیاد، چه بدشان بیاد، چه حق داشته باشند، چه حق نداشته باشند، اون زبان خاص در اون زمینه های خاص کاربرد گسترده ایی داره، و اینها اگر میخوان از مستندات موجود و ابزارهای موجود در اون زمینه ها استفاده کنند، و جایی در بازار خاص مرتبط با آن زمینه ها داشته باشند، باید با این زبان خاص آشنا باشند.

پس مباحثی مثل؛ اول زبان X را شروع کن، بعد برو سراغ Y، و بعد با Z کار کن؛ تا حدود زیادی بی معنا هستند!
شما باید بر مفاهیم مربوط به توسعه نرم افزار مسلط باشید. زبان های برنامه نویسی حاصل از یک پارادایم خاص (مثل زبان های Imperative) مفاهیم مشترک بسیار زیادی دارند، و تفاوتشان بیشتر در سه نقطه هست:
1- نحو (Syntax) زبان.
2- عملکرد Runtime مربوط به کامپایلر استفاده شده برای آن زبان.
3- کتابخانه های آن زبان.

یعنی شما می تونید مفاهیم برنامه نویسی که با یک زبان برنامه نویسی یاد گرفتید را به راحتی به زبان برنامه نویسی دیگه ایی منتقل کنید، به شرطی که با سه گزینه فوق در زبان مقصد آشنا باشید. بخصوص گزینه های اول و دوم. البته این به شرطی هست که هر دو زبان از یک پارادایم مشتق شده باشند، و گرنه تفاوت ها بیشتر میشه. شما نمی تونید به همان صورتی که به یک زبان Imperative مثل C یا پاسکال نگاه می کنید، و آن را می فهمید، به یک زبان Dynamic مثل Heskel نگاه کنید. بطور کلی، زبان هایی که در یک حوزه زبانی قرار دارند، مفاهیم مشترک بسیار زیادی با هم دارند.

مسلما به مرور که شما با این زبان ها کار می کنید، و مفاهیم مربوطه را متوجه میشید، با دنیای IT و بازار کار آن هم بیشتر آشنا میشید، و علاقه خودتان به برخی از این زبان ها هم بیشتر نمود پیدا میکنه. در نتیجه بعد از چند ترم تحصیل، می تونید با توجه به حوزه مورد علاقه خودتان ابزارهای مناسب را تشخیص بدید، و با آنها کار کنید. مثلا ممکن هست شما به مرور به سمت سیستم عامل لینوکس گرایش پیدا کنید، و به حوزه سخت افزار و ارتباط آن با نرم افزار علاقه پیدا کنید، خب وقتی وارد این حوزه میشید، متوجه میشید که در این حوزه بیشتر وقت تان صرف کار کردن با زبان C میشه، چون هم سیستم عامل مورد نظر شما با C نوشته شده، هم برای نوشتن درایورهای سخت افزاری به C نیاز دارید. از طرف دیگه چون به لینوکس گرایش دارید، به دنبال کامپایلرها و ابزارهایی برای زبان C میرید که در لینوکس کاربرد داشته باشند. اگر شما در همان حوزه سیستم عامل لینوکس به توسعه نرم افزارهای تحت وب علاقه مند بشید، سراغ زبان های برنامه نویسی مثل PHP میرید که برای همین حوزه طراحی شدند، و از ابزارهایی استفاده می کنید که مخصوص PHP باشند، و در سیستم عامل لینوکس کار کنند. حالا اگر شما همین به گرایش به توسعه نرم افزار تحت وب را داشتید، ولی فقط روی سیستم عامل ویندوز، اون وقت ممکن هست انتخاب شما متفاوت باشه، و شما ASP.NET را به PHP ترجیح بدید.

پس خیلی در ترم های اولیه خودتان را درگیر انتخاب زبان نکنید. سعی کنید مفاهیم را خوب یاد بگیرید. اگر لازم هست برای یادگیری یک مفهوم خاص با یک زبان خاص هم آشنایی داشته باشید، آن را یاد بگیرید. به مرور که پیشرفت می کنید، دید بهتری نسبت به حوزه تحصیلی و کاری خودتان پیدا می کنید، و بهتر می تونید با توجه به نیازهای خودتان و بازار ابزارهای مناسب را انتخاب کنید.

بهزاد علی محمدزاده
جمعه 18 دی 1388, 20:29 عصر
ممنون آقای کشاورز جامع بود و کامل . من پاسخم و از این بحث ایجاد شده گرفتم . و مدیر محترم می تونن بحث و بایگانی کنن .
با تشکر از همه دوستانی که پاسخ دادید . :قلب: