PDA

View Full Version : گفتگو: احساس می کنم راه رو اشتباه اومدم



sgb110
چهارشنبه 05 فروردین 1388, 15:47 عصر
سلام

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

دوست دارم نظر شما ها رو هم در این مورد بدونم :


دو سه روز پیش داشتم یه برنامه کوچیک می نوشتم بعد از اینکه کار تموم شد ، یه نگاه به کد های برنامه انداختم ، راستش دلم نیومد بگم این برنامه رو من نوشتم
آخه دیدم من کاری نکردم که ، تنها کاری که کردم استفاده از چندتا کلاس تو دات نت بوده
همین شد که یکم بشینم با خودم رو راست فکر کنم
دیدم من برنامه نویسی (کد نویسی) رو با QBasic شروع کردم بعد تو دانشگاه یکم پاسکال و سی . از ترم 3 وقتی یکم دور و برم رو نگاه کردم دیدم نیاز بازاز تو محیط های ویژوال(اشتباه اولم) برا همین از هموم ترم شروع کردم به یادگرفتن ویبی6
با ویبی 6 خیلی حال می کردم کاری هم به این نداشتم که یه سری ها می گفتن ضعیف، شی گرا نیست مفسری ، یا اسباب بازیه،
من با ویبی 6 با علاقه کد می نوشتم
کم کم با دات نت آشنا شدم دیدم کارایی که تو ویبی یا نمی تونستم انجام بدم یا خیلی سخت بود تو دات نت خیلی راحت انجام می شه داد
این بود که بعد 1 سال ویبی 6 رو ول کردم اومدم سراغ دات نت
2-3 تا برنامه که باهاش نوشتم با خودم گفتم ایول دیگه دارم برنامه نویس می شم اما حالا بعد از 2-3 سال می بینم که نه تنها برنامه نویس نشدم که دیگه با علاقه هم کد نمی نویسم
دارم به چشم می بینم که جای برنامه نویس، تبدیل شدم به یه اپراتور ویژوال استادیو
با خودم فکر کردم که اگه یه روز دات نت و ازم بگیرن چی کار بلدم انجام بدم

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

من که احساس می کنم 2-3 سال اسیر این سرو صداها و زرق و برق های میکروسافت و سان بودم
من برنامه نویسی رو دوست داشتم چون احساس می کردم توش آزادم درست مثل یه نقاش اما حالا ...

اگه اشتباه می کنم یا از سر بی تجربگی و کم سوادی زود قضاوت کردم معذرت می خوام

mithridates
چهارشنبه 05 فروردین 1388, 17:03 عصر
والا تو داتنت هم میشه همه کار کرد. همه ما اسیر کامپیوتر هستیم تا زبونهای برنامه نویسی و ...

ولی داتنت رو از کسی نمیگیرن همونطور که برق یا کامپیوتر نگرفتن تا حالا

همه همینطور هستند. از خلبان هواپیماشو بگیر... از دکتر چاقوشو بگیر... از راننده تاکسی ماشین رو بگیر...

موضوع این هست که وقت طلا هست و اگه هر برنامه ای رو بخوای 10000 تا کلاس بنویسی وقت تلف میشه

شما هم اگه میترسی دان نت بگیرن از dvd کپی بگیر نگه دار که همیشه داشته باشی :لبخند:

sgb110
چهارشنبه 05 فروردین 1388, 17:31 عصر
می دونی منم تا همین یه هفته پیش همین جوری فکر می کردم
می گفتم اگه قراره من یه دوچرخه بسازم لازم نیست که دوباره چرخ رو اختراع کنم
منم خودم تو دات نت برنامه نویسی می کنم پس قصد ندارم بیام از یه زبون یا پلت فرم دفاع کنم و در مقابل دات نت رو بکوبم
بیایم یکم با خودمون رو راست باشیم ،من فکر می کنم دات نت با ما کاری داره می کنه که داریم جای ساختن یه دوچرخه یه دونه دوچرخه می خریم تحویل مشتری می دیم یا حداقل تمام اجزا رو آماده کرده ما فقط مونتاژ می کنیم

در ضمن من گفتم فکر کن دات نت رو ازم بگیرن نگفتم که کامپیوتر
من به عنوان یه برنامه نویس(اگه بشه بهم گفت برنامه نویس) وسیله ی کارم کامپیوترو هست نه ویژوال استادیو


شما هم اگه میترسی دان نت بگیرن از dvd کپی بگیر نگه دار که همیشه داشته باشی
بابت راهنمایتونم ممنون
2-3 تا کپی ازش داشتم یکی دیگه هم برا اطمینان بیشتر ازش می گیرم

mithridates
چهارشنبه 05 فروردین 1388, 22:19 عصر
قصد بدی نداشتم شوخی بود

برای پیشرفت مجبوری دوچرخه آماده بگیری چون ساخت دوچرخه و سوار شدنش خیلی بیشتر از خریدن و سوار شدن طول میکشه

مجبوریم...

Rahman.hi
پنج شنبه 06 فروردین 1388, 02:39 صبح
منم همیشه با نوشتن حال میکنم
راستشو بخواین از دات نت بخاطر سرعت به پایان رساندن پروژه خوشم میاد ولی از اینکه برنامه نویسی رو از کاربر میگیره خیلی نه...
حداقل جاوا کاربر رو مجبور میکنه یکم کد بنویسه
ولی به نظرم دات نت دیگه قلیه رو از مزه برده
همه چیزش ویژوال شده!

البته اینها همش سلیقه ایه، شخصیه!
و البته بستگی به خود پروژه هم داره.
مثلا" من خودم پروژه های تحت وبی را که بزرگ هستند و با زمان کمی باید نوشته بشوند با دات نت مینویسم اما پروژه ای رو که نیاز به انعطاف پذیری بیشتری داره و پروژه ای خواهد بود که خودم نیاز دارم مدت ها باهاش سر کنم و نیاز دارم بفهمم واقعا" داره چه اتفاقاتی میافته رو با php.
application ها هم همینطوره. یا جاوا یا دات نت
بسته به نوع پروژه هم هست به نظرم
دات نت هم همونطور که گفتم در مواردی مثل سرعت بالای نوشتن پروژه خوبه
زیاد نگران نباش

sgb110
پنج شنبه 06 فروردین 1388, 21:26 عصر
نگران نیستم

من پیش خودم کار رو به 3 دسته تقسیم کردم
1:برنامه های سیستمی (مثل سیستم عامل ها-پکیج ها(مثل office یا 3max) ) البته نمی دونم برنامه های سیستمی اسم خوبی براشون هست یا نه
اینا رو تا اونجا که من می دونم با سی و سی++ می نویسن
اصلا نمی تونم تصور کنم یه روز مثلا شرکت adobe برا نصب فتو شاپ بگه باید قبلش دات نت نصب باشه
البته من جاوا کار نکردم زیاد هم با لینوکس آشنا نیستم ولی فکر نمی کنم این جور برنامه ها رو هم با جاوا بنویسن
2-نرم افزارهای کاربردی(همین هایی که ما می نویسیم) و نیاز به سرعت تو توسعه دارن
خوب تو این جور نرم افزارها دات نت و جاوا و دلفی هستند
فکر نمی کنم کسی با سی این جور نرم افزارها رو بنویسه
3:نرم افزار برا سیستم های embeded (مثل موبایل) (اسمشون همینه دیگه؟)
اینجا هم به غیر از سی جاوا هم هست

به هر حال دات نت هم یه تجربه بود و به خاطر کارم باید بگم ، ادامه داره
مرسی از راهنماییهاتون ولی من هنوز فکر می کنم آینده نه با دات نت هست نه با جاوا نه با دلفی
این ها فقط زرق و برق دارن
دوباره شروع کردم به کار کردن با سی ++ اونم نه با visual c ، این دفعه با qt دارم کار می کنم

DarkSoroush
پنج شنبه 06 فروردین 1388, 23:24 عصر
با هر ابزاری میشه ابزار دیگری اختراع کرد.

اگر نگاه کنید میبینید که نسبیت انیشتین هم با استفاده از بخش عظیمی از قوانین نیوتون ثابت میشه.

شما هم میتونید از خاک آجر بسازید و از آجر هم ساختمان. فرقی نداره. ولی بحث اینه که الان کسی از خاک ساختمان نمیسازه. هر جزء بزرگی از کوچک ها تولید شده. پس میتونید جای استفاده های ساده از این اجزا و نوشتن نرمافزارها برای عرضه در بازار یا هر چی که بیشتر برنامه نویسهای ما دنبالش هستند گاهی برای خودتون سعی کنید با .net کارهای بزرگ تر هم بکنید.

البته بعدش مثل من نتیجه میگیرید که .net زیادم برای این نوع کارها جالب نیست!! ولی برای شروع فکر کنم لذت برنامه نویسی رو برگردونه. اما .net بهترین گزینه برای ساخت نرمافزار های معمول که مشتری میخواد یا کار متفاوتی انجام نمیدن میمونه.

البته خستگی از برنامه معمولا" بعد از نوشتن زیاد در پروژه های سنگین پیش میاد!! :اشتباه: مثلا الان که من اومدم اینجا. :لبخند:

موفق باشی

Sundown
چهارشنبه 12 فروردین 1388, 08:15 صبح
حالا معنی این جمله الهی بهتر مشخص میشه :
++C بیاموزید تا رستگار شوید

anubis_ir
چهارشنبه 12 فروردین 1388, 10:26 صبح
این دفعه با qt دارم کار می کنم

QT هم يك فريم ورك است. با اجزاي حاضر و آماده. بنابراين قبل از اينكه راه رو بري و فكر كني كه اشتباه كردي كمي فكر كن.

Sundown
پنج شنبه 13 فروردین 1388, 03:45 صبح
ببینید با دات نت همه کار میشه توی این شک نکنید باهاش سیستم عامل میشه نوشت فتوشاپ میشه نوشت تری دی مکس و هر چیز دیگه ای رو هم میشه نوشت با جاوا هم همینطور
اما این کا شرکت های مختلفی نمی آن برنامه هاشون رو با جاوا یا دات نت بنویسن دلیل بر این نیست که این زبان ها نمیتونن انجام بدن دلیلش این هست که اونا ملیون ها خط کد به زبان سی و سی پلاس پلاس دارن و وقتی میخوان ورژن جدید مثلا فتوشاپ رو بنویسن نمی آن بگن خوب بسم الله اول تابع Main رو بنویسیم نه !
اونا همون کد قبلی رو ویرایش میکنن
وگرنه اگر قرار باشه روزی این نرم افزار ها رو دوباره بنویسن شک نکن که با یکی از زبان های سطح بالای موجود این کار میکنن ( در واقع آرزشون هست )
نمونش همین مایکروسافت که شروع کرده یک سیستم عامل جدید ( کاملا جدید و از صفر ) بنویسه خوب فکر میکنی چرا دوباره این کار رو با سی و ... انجام نمیده و اومده با سی شارپ این کار رو کنه
این زبان های سطح بالا باعث شده قیمت نرم افزار پایین بیاد ولی در عوض برنامه های مطمئن تر و با ثبات تر و با تعداد بیشتر بیرون بیاد
دیگه لازم نیست که شما وقت خودت رو فکر خودت رو و تمرکز خودت رو روی چیزایی مثل اشاره گر و ... صرف کنی به جای اون وقتت رو روی منطق برنامه صرف میکنی و این یعنی برنامه بهتر و قوی تر و با ضریب اطمینان بالاتر
در ضمن اگر از محیط های ویژوال جاوا و زبان های دات نت خوشد نمیآد مجبور نیستی کدت رو تو ویژوال استادیو بنویسی . یه نوت پد باز کن کدت رو اونجا بنویس و بعد هم با کامپایلرشون تفسیرشون کن

sgb110
پنج شنبه 13 فروردین 1388, 16:40 عصر
سلام
خیلی ممنون برا توجه دوستان

اما اون دوستی که گفته بودن qt هم یه سری کتابخونه آماده هست و...
اما به نظر من به خاطر این که من کدنویس رو مجبور نمی کنه که حتما تو ویندوز کد بنویسن یا رو لینوکس یا اینکه حتما برای استفاده از کتابخونه هام باید VM رو نصب کنی خودش کلی امتیاز هست

خوب من سی رو می خوام با qt یاد بگیرم به جای اینکه سی رو با mfc یا چیزای دیگه یاد بگیرم

ببینید با دات نت همه کار میشه توی این شک نکنید باهاش سیستم عامل میشه نوشت فتوشاپ میشه نوشت تری دی مکس و هر چیز دیگه ای رو هم میشه نوشت با جاوا هم همینطور
اما این کا شرکت های مختلفی نمی آن برنامه هاشون رو با جاوا یا دات نت بنویسن دلیل بر این نیست که این زبان ها نمیتونن انجام بدن دلیلش این هست که اونا ملیون ها خط کد به زبان سی و سی پلاس پلاس دارن و وقتی میخوان ورژن جدید مثلا فتوشاپ رو بنویسن نمی آن بگن خوب بسم الله اول تابع Main رو بنویسیم نه !
اونا همون کد قبلی رو ویرایش میکنن
وگرنه اگر قرار باشه روزی این نرم افزار ها رو دوباره بنویسن شک نکن که با یکی از زبان های سطح بالای موجود این کار میکنن ( در واقع آرزشون هست )
نمونش همین مایکروسافت که شروع کرده یک سیستم عامل جدید ( کاملا جدید و از صفر ) بنویسه خوب فکر میکنی چرا دوباره این کار رو با سی و ... انجام نمیده و اومده با سی شارپ این کار رو کنه
این زبان های سطح بالا باعث شده قیمت نرم افزار پایین بیاد ولی در عوض برنامه های مطمئن تر و با ثبات تر و با تعداد بیشتر بیرون بیاد
دیگه لازم نیست که شما وقت خودت رو فکر خودت رو و تمرکز خودت رو روی چیزایی مثل اشاره گر و ... صرف کنی به جای اون وقتت رو روی منطق برنامه صرف میکنی و این یعنی برنامه بهتر و قوی تر و با ضریب اطمینان بالاتر

ولی من فکر نمی کنم علت فقط از نو نوشتن باشه
به قول شما هزینه نوشتن کد با دات نت خیلی کمتر از سی هست خوب این ها هم به جای اینکه این همه هزینه کنند می تونستن با هزینه کمتر کد هاشون رو با مثلا سی شارپ بنویسن و دیگه از دست اشاره گر ها و... راحت بشن تاره از اون به بعد هزینه update کردن نرم افزار هم کلی پایین میاومد
اما این کار رو نمی کنن علت هم به نظر من همون وابستگی به فرم ورک هست
می گم که برا من خیلی سخت قبول اینکه یه روز بخوام مثلا فتوشاپ نصب کنم بگه قبلش دات نت یا JRE رو باید نصب کنی
اما در مورد سیستم عاملی که میگید میکروسافت شروع به نوشتنش کرده من چیزی جایی ندیدم(البته چند وقت پیش یه جا یه سیستم عامل دیدم که با سی شارپ نوشته بودنش ولی بیشتر شبیه یه کار آموزشی بود تا یه سیستم عامل تجاری)


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

DarkSoroush
پنج شنبه 13 فروردین 1388, 17:25 عصر
ببینید با دات نت همه کار میشه توی این شک نکنید باهاش سیستم عامل میشه نوشت فتوشاپ میشه نوشت تری دی مکس و هر چیز دیگه ای رو هم میشه نوشت با جاوا هم همینطور
اما این کا شرکت های مختلفی نمی آن برنامه هاشون رو با جاوا یا دات نت بنویسن دلیل بر این نیست که این زبان ها نمیتونن انجام بدن دلیلش این هست که اونا ملیون ها خط کد به زبان سی و سی پلاس پلاس دارن و وقتی میخوان ورژن جدید مثلا فتوشاپ رو بنویسن نمی آن بگن خوب بسم الله اول تابع Main رو بنویسیم نه !
اونا همون کد قبلی رو ویرایش میکنن
وگرنه اگر قرار باشه روزی این نرم افزار ها رو دوباره بنویسن شک نکن که با یکی از زبان های سطح بالای موجود این کار میکنن ( در واقع آرزشون هست )
نمونش همین مایکروسافت که شروع کرده یک سیستم عامل جدید ( کاملا جدید و از صفر ) بنویسه خوب فکر میکنی چرا دوباره این کار رو با سی و ... انجام نمیده و اومده با سی شارپ این کار رو کنه
این زبان های سطح بالا باعث شده قیمت نرم افزار پایین بیاد ولی در عوض برنامه های مطمئن تر و با ثبات تر و با تعداد بیشتر بیرون بیاد
دیگه لازم نیست که شما وقت خودت رو فکر خودت رو و تمرکز خودت رو روی چیزایی مثل اشاره گر و ... صرف کنی به جای اون وقتت رو روی منطق برنامه صرف میکنی و این یعنی برنامه بهتر و قوی تر و با ضریب اطمینان بالاترالبته این نظر شخصی منه ولی من کاملا با شما مخالفم.
اصلا با همون جمله اول که میگه با .net میشه هر کاری کرد. مدتی پیش پی hook کردن تابعی بودم در ویندوز و بعد از شاید 3 روز تحقیق نتیجه گرفتم همچین چیزی در .net عملی نیست.

Global hooks are not supported in the .NET Framework


Except for the WH_KEYBOARD_LL low-level hook and the WH_MOUSE_LL low-level hook, you cannot implement global hooks in the Microsoft .NET Framework. To install a global hook, a hook must have a native DLL export to inject itself in another process that requires a valid, consistent function to call into. This behavior requires a DLL export. The .NET Framework does not support DLL exports. Managed code has no concept of a consistent value for a function pointer because these function pointers are proxies that are built dynamically.

Low-level hook procedures are called on the thread that installed the hook. Low-level hooks do not require that the hook procedure be implemented in a DLL.

این عین نوشته در ادرس زیر است: (بخش پشتیبانی ماکروسافت)

http://support.microsoft.com/kb/318804


این یک نمونه ساده بود.

در مورد ساخت یک سیستم عامل بر اساس کدهای managed, بله. سال 2003 سیستم عاملی ماکروسافت به نام Singularity عرضه کرد. (به صورت تحقیقاتی)
ولی بحث اینجاست که .net تحت یک virtual machine اجرا میشه که همون فریم ورکه خودمونه. پس نمیتونه کنترل سیستم رو در دست بگیره. (به هیچ عنوان نمیشه یک kernal low-level باهاش نوشت) و این موضوع در Singularityهم دیده میشه!:


The lowest-level x86 (http://en.wikipedia.org/wiki/X86_architecture) interrupt (http://en.wikipedia.org/wiki/Interrupt) dispatch code is written in assembly language (http://en.wikipedia.org/wiki/Assembly_language) and C (http://en.wikipedia.org/wiki/C_%28programming_language%29).
The hardware abstraction layer (http://en.wikipedia.org/wiki/Hardware_abstraction_layer) is written in C++ (http://en.wikipedia.org/wiki/C%2B%2B) and runs in safe mode. There is also some C code to handle debugging
کپی مستقیم از:

http://en.wikipedia.org/wiki/Singularity_(operating_system) (http://en.wikipedia.org/wiki/Singularity_%28operating_system%29)


البته یکی از دلایلی که شرکت های برنامشون رو با دات نت نمینویسند همین موضوعه که شما عرض کردید ولی مهم ترینش این نیست. پرفورمنس و دسترسی های بیشتر شاید دلیل بهتری باشه. (نیاز به فریم ورک هم دلیل خوبی نیست چون الان اکثر برنامه های نصب خودکار میتونند فریم ورک رو نصب کنند)

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

anubis_ir
پنج شنبه 13 فروردین 1388, 18:45 عصر
برای استفاده از کتابخونه هام باید VM رو نصب کنی...
اگر وقت كردي كمي در مورد dependencies مرتبط با كتابخانه‌هاي QT تحقيق كن.
كلا هر فريم وركي يك سري وابستگي و فايل‌هاي مربوطه داره و طبيعي است چون يك فريم ورك از يك سري اجزا و چارچوب تشكيل ميشه.


یکی از دلایلی که شرکت های برنامشون رو با دات نت نمینویسند ...
چه كسي گفته شركت‌ها برنامه‌هاشون رو با دات نت نمي‌نويسند؟ (تاپيكي در بخش سي شارپ شروع شد در مورد برنامه‌هاي نوشته شده با سي شارپ، كه البته سريع هم بسته شد. يك نگاهي به آن بيندازيد، بد نيست)
اساسا دات نت با تحولات اخير آن، عمده‌ي مصرفي كه داره برنامه نويسي در مقياس سازماني است نه hook كردن و غيره كه كلا براي اين منظور پديد نيامده.
همانطور كه كسي نمياد با ASM32 يك work flow engine بنويسه (چيزي مثل work flow foundation دات نت)، كسي هم وقتش رو تلف نمي‌كنه كه با دات نت بياد راه حلي براي برنامه نويسي low level پيدا كنه (هر چند شايد مثال بياريد كه فلان كار رو ميشه كرد). هر ابزاري را بهر كاري ساخته‌اند.

ضمنا اين رو اضافه كنم كه ويندوزهاي جديد مايكروسافت به صورت پيش فرض دات نت فريم ورك‌ هم روشون نصب هست و كاربر نيازي نيست با اين مساله درگير بشه. (البته اگر يكبار نصب اين رو دشوار مي‌دونيد)

sgb110
پنج شنبه 13 فروردین 1388, 23:30 عصر
بازم سلام


اگر وقت كردي كمي در مورد dependencies مرتبط با كتابخانه‌هاي QT تحقيق كن.
كلا هر فريم وركي يك سري وابستگي و فايل‌هاي مربوطه داره و طبيعي است چون يك فريم ورك از يك سري اجزا و چارچوب تشكيل ميشه.


چشم حتما این کار رو می کنم
اما من فکر می کردم qt فقط یه سری کتابخونه هست و نیازی به یه ماشین مجازی مثل clr دات نت نداره


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


قصدم از این بحث شروع شدن یه بحث قدیمی که مثلا دات نت بهتر هست یا جاوا یا از این دست صحبت ها نبود می خواستم فقط بدونم این احساس برا شما هم بوجود اومده یا نه؟

خودم هم به این نتیجه رسیدم که در کنار دات نت ، سی ++ رو شروع کنم

anubis_ir
جمعه 14 فروردین 1388, 00:37 صبح
آخرش برنامه نویس نمی شم

مي‌توني يك تعريف از برنامه نويس واقعي ارائه بدي؟

DarkSoroush
جمعه 14 فروردین 1388, 15:40 عصر
چه كسي گفته شركت‌ها برنامه‌هاشون رو با دات نت نمي‌نويسند؟
آینو من نگفتم. چند پست قبلو چک کنید. اگر چه واقعیت هم همینه و خیلی از برنامه های دارای هسته های غیر .netی هستند.

اساسا دات نت با تحولات اخير آن، عمده‌ي مصرفي كه داره برنامه نويسي در مقياس سازماني است نه hook كردن و غيره كه كلا براي اين منظور پديد نيامده.
در پست قبلیم به همین موضوع اشاره کردم. اگر اینجاییم که بدونیم هر زبنی رو برای چیزی ساختند این نیاز به گفتن نداره و هممون میدونیم. این همون دلیلیه که من آخر پستم گفتم بد نیست در کنار .net به c++ یا دلفی هم سر زد.

همون طور که قبلا گفتم, از زمین میشه مصالح مختلفی ساخت و از مصالح هم میشه بناهای مختلفی ساخت. این همون دلیلیه که یک زبان سطح پایین تر جایی بهتره و یک زبان سطح بالا هم جای دیگه ای قدرت خودش رو نشون میده.

در ضمن این پست, پست قبل و پست ابتدایی من همون طور که متذکر شدم نظر شخصیه.
موفق باشید

__H2__
دوشنبه 17 فروردین 1388, 01:15 صبح
سلام
نظر شخصی من ...
من چند زبان برنامه نویسی را به خوبی تجربه کردم.
حالا هم دارم C#.Net و VB.Net کار میکنم.
اعتقاد دارم که دات نت عمر انسان را در 1- و 1+ طلف نمیکند!

برای من دات نت هر انچه را قبلاً در تکه پاره های ++VC و VB و حتی Assembly جستجو میکردم و برای هر یک نیاز به یک سوییچ بودم یکجا دارد.

من عاشق شی گرایی و پلیمورفیزم ++C بودم، در عین حال از سادگی VB6 هم خوشم می آمد از بیشترین چیزی که در Assembly هم خوشم می آمد آن بود که میتوانستم حافظه code و data را مخلوط کنم و در خود برنامه runtime کد کامپایل شده بسازم و اجرا کنم، یا دستورات داخل یک آرایه بایتی را اجرا کنم ...

حالا دات نت همه اینها را با کمی پس و پیش یکجا در اختیارم قرار داده.

ضمناً برخی به کلاسهای آماده دات نت گیر میدهند و میگویند دات نت انسان را تنبل میکند !!!!
من قبلاً به این حرف خنده دارد در جایی پاسخ داده بودم


1)
آیا نوشتن دستورات if و for و switch و while و try و... در هر زبانی میتواند باعث فهم درک عمیق شود و در زبان دیگری عدم فهم و درک عمیق را حاصل کند؟

یعنی مسخره و احمقانه نیست اگر من بگویم، وقتی for را در VB می نویسیم ذات عالم هستی را متوجه میشویم ولی وقتی در java مینویسیم نه!!!

یا وقتی تابع memcpy را در ++VC استفاده میکنیم همه چیز را فهمیده ایم و تنبل هم نمیشویم ولی اگر تابع Marshal.Copy را در دات نت استفاده کنیم چیزی نمیفهمیم و تنبل میشویم!!!

=====

2)
باشد قبول توابع و کلاسس های آماده ادم را تنبل میکند...
خوب از این نوابغ باید پرسید چرا از توابع آمده در زبان برنامه نویسی دلخواهشان استفاده میکنند؟
زبان های vb و java و ++C و... سرشار از توابع و کلاسس ها و حتی ماکروهای آماده هستند...

نه افراط و نه تفریط.

اگر استفاده از کلاسس و توابع و کامپونت آماده صحیح نباشد پس استفاده از MFC و کل تکنتولوژِی COM و ActiveX و ATL و حتی API ها و SqlServer و MySql و Oracle و XML Parser ها و GZip و... و هزاران هزار ابزار آماده و اشتراک کد صحیح نیست.
یعنی اصولاً قانون جامع و معروف عالم برنامه نویسی یعنی "قابلیت استفاده مجدد از کد" کشک میشود.


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

اگر واقعاً کسی میخواهد وابسته به دیگران نباشد و خودش همه چیز را تولید کند باید راه مکینتاش را برود...
خودش سیستم عاملی جدید بسازد (بالاخره حتماً استفاده از امکانات Win و linux هم نوعی تنبلی است دیگر) و اصلاً با اسمبلی شروع کند و از سکتور صفر هارد شروع به کد نویسی کند.

=====

3)
بارها گفته ام باز هم برای مثال میگیم ... (گناه تکراری بودنش پای همانکه مرا مجبور به پست زدن در تاپیک کرد!)
مثلاً

- دات نت کلاسس 11 تقویم مختلف فرهنگ های جهانی را دارد از جمله هجری قمری و هجری شمسی...

- دات نت فضای نامی بزرگ شامل اکثر الگوریتم های مشهور رمز نگاری روز دنیال را دارد مثل Hash و SHA و DES و... و... (مثلاً فقط در مورد SHA نگارش های 1 و 256 و 384 و 512 را دارد.)

- دات نت دو کلاسس Stream ای برای فشرده سازی اطلاعات دارد از جمله GZip

- یک چند هزارتایی کلاسس دیگر هم دارد که حالا ولش کنید!!!

اگر استفاده از این کلاسسها تنبلی است، پس از دوستانی که این نظر را دارند بپرسید:
چند ماه و سال و دهه از عمرشان را میخواهند بگذارند تا تنبلی نکنند و خودشان فقط الگوریتم و فلوچارت چند مورد فوق را تهیه کنند آیا وقتشان به موارد جدیدتر و روزتر دنیا هم خواهد رسید؟

=====

4)
دات نت یک چندهزارتایی کلاسس و متد آماده برای حل مشکلات روز 2008 دارد، کسی اگر گمان میکند استفاده از اینها تنبلی است و باید خودش این کلاسس ها را درست کند، خوب چه مانعی دارد؟ مشکل کجا است؟

یعنی فکر میکنید مثلاً در delphi یا ++C میتوانید class تعریف کنید و وراثت بگیرید و اپراتورها را overload کنید ولی در دات نت نمیتوانید؟

در کل کسی مجبور به استفاده از این کلاسسها نیست، هر کس وقت اضافه دارد میتواند خودش کلاسس مورد نظر خودش را کدنویسی کند و استفاده کند و به کسان دیگر هم بدهد/ندهد.



در مجلسی بودم یک بنده خدای بازاری تهران که ماشین شخصی داشت، میگفت:
"... والا باور کنید اتوبوس و مترو خیلی بهتر از ماشین است، ما آروز داریم ماشین نداشتیم ..."
مارومیگی، چشمها بادکرده، سبیلها از بناگوش در رفته، حاج و واج مانده بودیم در این بشر! به قول بروبچ شده بودیم علامت سوال! یک چیز تو مایه های این آقاهه یا شاید هم این یکی و یا !
نمیدانم نداشتن ماشین هم آروز میخواهد؟ پس حتماً نداشتن class آماده هم آرزو میخواهد؟
جلل خالق از این بشر که هرچه فکر کنید درک رفتارش غیر ممکن است!


من خودم از نوشتن دستی کلاسها لذت میبرم و به خاطر بازدهی بالتر هم که شده، مجموعه بسیار عظیمی از کلاسهایی را خودم دستی نوشتم که اغلب مشابه ای در فضای Framework دارند ولی من از کلاس خودم استفاده میکنم.

در آخر لازم میدانم بگویم، تا حالا سابقه نداشته برنامه ای در دات نت را ببینم که کند عمل میکند و بازدهی و performance پایینی دارد و کد آن مشکل نداشته باشد.
در همه موارد فقط با دیدن کد میتوانم قطعاً بگویم برنامه نویسیش در ضمینه دات نت یک بیسواد بوده.
(فقط مشکل دات نت این است که راحت است و اجازه میدهد، هر بیسوادی کد نویسی کند! حداقل بیسواد دات نتی.)

==============

قصد توهین به هیچ دوستی را نداشتم و جملات را کلی گفتم.
مجدداً تاکید میکنم که نظرات شخصی خودم بوده/
دوست دار تمام برنامه نویسان هستم.
مخالف هیچ زبان برنامه نویسی هم نیستم، هر زبانی میخواهد باشد فقط نسخه 2008 و 2009 باشد!
جمیعاً موفق و پیروز و سربلند باشید و با هر زبانی که کار میکنید خوش باشید.

GhProgrammingCo
یک شنبه 29 آذر 1388, 11:41 صبح
.net کلاس هاس آماده زیادی داره ولی در اکثر موارد شما مجبور به استفاده از اونها نیستید. ما توی زندگی برای رسیدن سریع به محل کار از وسائل نقلیه استفاده مکنیم و تنبل بار میایم. ولی کسی پاهامونو ازمون نگرفته و بعضی وقتها بعضی از کارا رو پیاده میتونیم انجام بدیم تا از تنبلی فلج نشیم یا تفریحی بریم ورزش کنیم و بدویم. بعضی وقتها واسه عشق خودتون برنامه نویسی کنید و سعی کنید الگوریتم های پیاده شده با کلاسهای .net رو خودتون بیواسطه و با دستورات ساده پیاده سازی کنین

hamidhws
دوشنبه 07 دی 1388, 03:04 صبح
من نمیفهمم چرا بعضیا برنامه نویسو با کد نویس اشتباه گرفتن !

یه برنامه نویس واقعی اول الگوریتم رو کامل حلاجی میکنه بعدش اونو در قالب کد میاره

و الگوریتم یه چیزیه که هیچ ربطی به زبان برنامه نویسی نداره

در واقع:
الگوریتم مثل منظور درونی ما و کد نویسی مانند بازگو کردن اونه

به طور مثال جمله ی من سیب میخواهم
آیا اگه به ترکی یا فرانسوی گفته بشه معنیش فرق میکنه؟
با این فرض
vb6:فارسی
vb.net:ترکی
c#:فرانسوی

یکم دید خودتونو باز کنید کد نویسی و نوع زبان سلیقه ای هست

ironman
شنبه 12 دی 1388, 12:11 عصر
اگه درست منظورتون رو فهمیده باشم شما از اینکه مصرف کننده اید ناراحت هستید و میخواید به تولید کننده ای تبدیل بشید که دیگران از محصول شما استفاده کنند.(همین باعث ایجاد این حس در شما شده)
اما به نظر من برای تبدیل شدن به یک تولید کننده خوب و ماندگار باید مصرف کننده خوبی باشی یعنی تمام زیر و بم نیازها رو شناخته باشی

این یعنی اینکه شما به مرحله مهمی از زندگی حرفه ای تون رسیدید:تشویق: