PDA

View Full Version : PHP توسط کدام شرکت پشتیبانی میشود؟



irpersian20
جمعه 21 آذر 1393, 10:20 صبح
سلام
الان توسط کدام شرکت PHP‎‎ پشتیبانی و گسترش و استندارد سازی داره میشه؟
مثلا سی شارپ رو ماکروسافت
جاوا رو سان داره ساپورت میکنه
مثلا یکی میگه من یک وب سایت میخواهم و من میگم با پی اچ پی برات کد میزنم.خوب اگر گفت این پی اچ پی توسط کی و کجا پشتیبانی میشه ما باید چی بگیم؟ در حد همین وب سایت ها؟

hsgpro
جمعه 21 آذر 1393, 10:44 صبح
سلام
اسم شرکت نداره تو سایت خود php نوشته Copyright © 2001-2014 The PHP Group یعنی اسم توسعه دهنده و پشتیبانی کننده اش گروه PHP است.اینم لینک کپی رایت: http://php.net/copyright.php

sairon123
جمعه 21 آذر 1393, 10:53 صبح
من یه جا خوندم که یاهو یکی از پشتیبان های php هست

hamedarian2009
جمعه 21 آذر 1393, 10:53 صبح
PHP اپن سورسه و منحصر به هیچ شرکتی نیست ولی خب کلا غیر آقای راسموس لردورف که طراح PHP بود دو نفر دیگه ای هم که بعدا برای توسعه این زبان اضافه شدن (آقایان گاتسمن و سوراسکی) شرکت Zend را تشکیل دادن که بعدا این شرکت نقش زیادی توی توسعه PHP داشته

rezaonline.net
جمعه 21 آذر 1393, 10:56 صبح
توی دنیای اپن سورس چیزی به اسم مالک نداریم :)

irpersian20
جمعه 21 آذر 1393, 10:58 صبح
خوب به نظر شما این قضیه قابل اعتماد هست؟
وقت یک باگ رخ میده برای رفع اون مثلا باید پچی را به سیتسم اضافه کرد. چطور اطمینان کنیم آن پچ ، مطمئن هست؟
اگر یک نفر خواست براش وب سایتی بسازیم . و گفت پی اچ پی رو کی پشتیبانی میکنه؟ من باید جواب قانع کننده بهش بدم. الامن خودم قانع نشدم تازه!

rsgcom
جمعه 21 آذر 1393, 12:27 عصر
اپن سورس یا متن باز مالک نداره حامی داره شرکتهایی حامی میشن

irpersian20
جمعه 21 آذر 1393, 13:23 عصر
اپن سورس یا متن باز مالک نداره حامی داره شرکتهایی حامی میشن

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

MMSHFE
جمعه 21 آذر 1393, 14:08 عصر
دوست عزیز، در حال حاضر شرکت Zend پشتیبان رسمی PHP هست و نسخه های رسمی توسط تیم توسعه Zend داره ارائه میشه. این شرکت هم مسئولیت بروزرسانی و رفع مشکلات و Bug Report و... رو برعهده داره. ابنکه دوستان میگن Open Source مالک نداره هم کاملاً اشتباهه. مثل اینه که بگیم لینوکس مالک نداره. دقت کنید که مالک وجود داره ولی سورس برنامه برای تغییر و در راستای سیاست نرم افزارهای آزاد در اختیار مصرف کنندگان قرار میگیره تا اگه خواستن برحسب نیاز، خودشون تغییر بدن. امتیاز اصلی Open Source اینه که اگه یه زمانی شرکت پشتیبانی رسمی و مالک، به هر دلیلی نخواد کار رو ادامه بده، پروژه زمین نمیخوره و یکی دیگه میتونه کار رو ادامه بده چون سورسش رو در اختیار داره. تمامی نسخه هایی که از سایت php.net دریافت میکنین قابل اطمینان هستن. اینکه پشتیبان PHP کیه به مشتری ربطی نداره و شما هم نباید جوابگو باشین. کافیه بگین شما به پشتیبانی PHP کاری نداشته باش. من سایت رو برات میسازم و پشتیبان اسکریپتی که برات مینویسم، خودم هستم. مشتری رو پررو نکنید. کلاً End User در حدی نیست که بخواد برای اعتبار ابزارهای کار ما شرط بگذاره. شما وقتی میرین پیش یک دکتر، ازش میپرسین این گوشی معاینه شما رو کدوم شرکت ساخته و پشتیبانش کیه یا فلان دارو رو کدوم شرکت ساخته و معتبره یا نه؟ همین که اون دکتر طبق تخصصش داره از اون ابزارها استفاده میکنه به شما تضمین میده که کیفیت در حد مطلوب هست (یا حداقل شما اینطور برداشت میکنید). باز هم تأکید میکنم مشتری رو اینقدر پررو نکنید که بخواد روی دونه دونه ابزارها و کدهای شما اظهار فضل کنه.

arta.nasiri
جمعه 21 آذر 1393, 14:30 عصر
بنظرم php به اندازه کافی مطمئن هست و در صورت وجود باگ میتونید از release های منتشر شده توسط php.net استفاده کنید که امن هستن. خیلی از سایتهای بزرگ مثل facebook از php استفاده میکنند.
معمولا مشتری نمیپرسه با چه زبانی وب سایت رو طراحی میکنید! مگر اینکه با یک ارگان یا شرکت طرف باشید که بخش انفورماتیکش بیاد دخالت کنه و به زبان برنامه نویسی گیر بده، در اکثر این مواقع چون اون شخص تعصب خاصی روی یک زبان مثل c# داره احتمالا کوتاه نیاد. ولی اینطور هم نیست که php نسبت به C# ناامن باشه. درسته زبانی مثل php یا c# ممکنه(حتما داره :لبخند:) باگ هایی داشته باشه و این به آگاهی برنامه نویس از اون باگها و زبان برمیگرده و میتونه از روشها و توابع جایگزین استفاده کنه و اون باگ رو برطرف کنه.


بنظر من پروژه های open source قابل اعتماد تر از بقیه هستن چون سورس کل پروژه در اختیار شما هست و میتونید در صورت سوء استفاده های امنیتی آن را گزارش یا اصلاح کنید. البته با اینکه php هم سورس رو در اختیارتون میذاره ولی بررسیش کار یکی دو نفر و دو سه روز نیست.

irpersian20
شنبه 22 آذر 1393, 17:06 عصر
دوست عزیز، در حال حاضر شرکت Zend پشتیبان رسمی PHP هست و نسخه های رسمی توسط تیم توسعه Zend داره ارائه میشه. این شرکت هم مسئولیت بروزرسانی و رفع مشکلات و Bug Report و... رو برعهده داره. ابنکه دوستان میگن Open Source مالک نداره هم کاملاً اشتباهه. مثل اینه که بگیم لینوکس مالک نداره. دقت کنید که مالک وجود داره ولی سورس برنامه برای تغییر و در راستای سیاست نرم افزارهای آزاد در اختیار مصرف کنندگان قرار میگیره تا اگه خواستن برحسب نیاز، خودشون تغییر بدن. امتیاز اصلی Open Source اینه که اگه یه زمانی شرکت پشتیبانی رسمی و مالک، به هر دلیلی نخواد کار رو ادامه بده، پروژه زمین نمیخوره و یکی دیگه میتونه کار رو ادامه بده چون سورسش رو در اختیار داره. تمامی نسخه هایی که از سایت php.net دریافت میکنین قابل اطمینان هستن. اینکه پشتیبان PHP کیه به مشتری ربطی نداره و شما هم نباید جوابگو باشین. کافیه بگین شما به پشتیبانی PHP کاری نداشته باش. من سایت رو برات میسازم و پشتیبان اسکریپتی که برات مینویسم، خودم هستم. مشتری رو پررو نکنید. کلاً End User در حدی نیست که بخواد برای اعتبار ابزارهای کار ما شرط بگذاره. شما وقتی میرین پیش یک دکتر، ازش میپرسین این گوشی معاینه شما رو کدوم شرکت ساخته و پشتیبانش کیه یا فلان دارو رو کدوم شرکت ساخته و معتبره یا نه؟ همین که اون دکتر طبق تخصصش داره از اون ابزارها استفاده میکنه به شما تضمین میده که کیفیت در حد مطلوب هست (یا حداقل شما اینطور برداشت میکنید). باز هم تأکید میکنم مشتری رو اینقدر پررو نکنید که بخواد روی دونه دونه ابزارها و کدهای شما اظهار فضل کنه.

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

الان من چند وقت هست که دارم تحقیق میکنم،بعضی ها این اعتقاد رو دارند که محصولات ماکروسافت بهتر است. دلیلیش این هست که یک شرکت عظیم و بزرگ پشت قضیه هست.و آینده کاری یک برنامه نویس رو تضمین میکنه. و برنامه نویس بیم پشتیبانی محصول و باگ و ... را نخواهد داشت.
مخصوصا جدیدا که حرف از اپن سورس شدن .net اومده وسط و برنامه نویسی برای اندروید و ios . الان اونها دارن میگن شما چه سرویسی رو لازم داری که ماکروسافت فراهم نکرده ؟
http://www.visualstudio.com/en-us/products/visual-studio-community-vs

مهرداد سیف زاده
شنبه 22 آذر 1393, 18:33 عصر
سلام
جاوا رو سان داره ساپورت میکنه

سان توسط اوراکل خریداری شده و هم اکنون جاوا مثل خیلی دیگر از پروژه های سان(mysql-netbeans-virtualbox) توسط اوراکل نگهداری میشه.

MMSHFE
شنبه 22 آذر 1393, 18:59 عصر
ببینید دوست عزیز، من نمیگم شما تحقیق نکنید. میگم مشتری حق نداره درمورد ابزارهای کار ما اظهارنظر کنه. مطمئناً وقتی ما یک ابزار رو انتخاب میکنیم و بیزینس ما به اون ابزار بستگی داره، باید روش حساس باشیم و این حساسیت بیشتر از مشتری هست. درمورد اعتقاد بعضی که میگن محصولات مایکروسافت (نه ماکروسافت) بهتره حرفی نمیزنم چون اعتقاد هرکس به خودش مربوطه ولی درمقابل خیلیها هم معتقدن که سیاستهای مایکروسافت لطمه های جدی به برنامه نویس میزنه. چند سؤال رو مطرح میکنم که اگه به جوابشون دقت کنید، متوجه میشین که سیاستهای شرکتهایی مثل مایکروسافت و اپل داره دنیای برنامه نویسی رو نابود میکنه:

1- چه بلایی سر کسانی که چند سال وقت صرف یادگیری Silverlight کردن اومد؟ الان که مایکروسافت سیاستش رو به سمت WPF تغییر داده، آیا این برنامه نویسهای بیچاره که دوباره باید از صفر همه چیز رو یاد بگیرن گناهی کردن؟

2- محصولات مایکروسافت ایمنی بیشتری داره یا محصولات Open Source ؟ چند وقت پیش لو رفت که ویندوز، یک نسخه از تمام اطلاعات رو قبل از اینکه توی لایه های شبکه رمزنگاری بشن، مستقیماً و بصورت خام برای سرورهای خاصی در امریکا ارسال میکنه. آیا توی محصولی مثل لینوکس که سورسش بازه میشه اینطوری واسه مردم زیرآبی رفت؟

3- مایکروسافت با تمام عظمتش حدود 15000 برنامه نویس و 3000 تست کننده داره ولی واقعاً این اعداد درمقابل چند صد میلیون برنامه نویس در دنیا که میتونن توی پروژه های Open Source مشارکت کنن، عدد بزرگیه؟ اگه لینوکس بازمتن نبود، اینهمه توزیع براش میومد؟

4- مایکروسافت توی ویندوز 8 منوی Start رو برداشت. آیا قبلش از کسی نظرخواهی کرد؟ اگه پس فردا بیاد بگه نمیخوام پروژه NET. رو ادامه بدم و تکنولوژی جدیدتری رو داریم تولید میکنیم، کاری از کسی بر میاد؟ درمورد Silverlight و WPF یا LinQ و... کاری از دست کسی بر اومد؟ ته تهش اینه که همه اعتراض کنن و بیاد با منت، اونم بعد از یکی دو سال، توی ویندوز 10 منوی استارت رو برگردونه.

5- Backward Compatibility توی محصولات مایکروسافت چه جایگاهی داره؟ تا حالا دقت کردین وقتی NET. نسخه 4 نصب میکنید، برنامه هایی که با NET. نسخه 2.5 نوشته شده روی سیستم کار نمیکنه و حتماً باید NET. نسخه 2.5 رو هم جداگانه نصب کنید؟ توی همه چیز همینطوریه مایکروسافت. برای مثال Visual C++‎‎ Runtime رو درنظر بگیرین. همین الان روی ویندوز خودم نسخه های 2008 و 2010 و... جداگانه نصب هستن تا برنامه ها درست کار کنن.

6- IDE هایی مثل Visual Studio در عین حال که خیلی کارها رو راحت میکنن، برنامه نویس رو تنبل و بعضاً بیسواد بار میارن و بعنوان مثال، خیلیها فکر میکنن روش استفاده از AJAX فقط همینه که کنترل مربوطه رو توی UpdatePanel بندازیم و PartialRendering رو توی کادر Properties تیک بزنیم. منظورم اینه که خیلی از جزئیات پشت پرده رو به فرد نشون نمیده و درنتیجه اگه زمانی مشکلی پیش اومد، برنامه نویس بدون Visual Studio نمیتونه مشکل رو برطرف کنه. شاید زمانی که مشکلی پیش میاد شما تو مسافرت باشین و بخواین با موبایلتون و ازطریق بررسی و اصلاح سورس کد، مشکل رو رفع کنید. اونوقت میخواین چیکار کنید؟ به مشتری بگین صبر کنه تا برگردین یا از یه جا Visual Studio گیر بیارین؟

6- کی گفته قراره NET. بازمتن بشه؟ فقط بخشهایی از ASP.NET رو اومدن بازمتن کردن که اونم نشونه تعظیم مایکروسافت درمقابل قدرت جامعه Open Source هست و ثابت میکنه بالأخره این شرکت درمقابل سیاست نرم افزارهای آزاد داره زانو میزنه. تازه همین ASP.NET که بازمتن شده به چه درد میخوره؟ مثلاً قراره روی لینوکس اجرا بشه؟ چطوری؟ با IIS ؟ با Apache قراره NET. رو اجرا کنیم؟ نکنه منظورشون پروژه Mono هست که بیشتر به یه جوک شبیهه؟ اونوقت دیتابیس چی؟ قراره با SQL Server کار کنیم؟ چطوری SQL Server رو روی لینوکس اجرا کنیم؟ اون که بازمتن نشده! تازه بازمتن شدن هم بدرد نمیخوره به تنهایی. نسخه Linux که نداره. نکنه قراره ASP.NET رو همراه با MySQL بکار ببریم؟ میدونید اونوقت چقدر دستور و ساختار داخلی NET. باید عوض بشه؟ یکپارچگی و سازگاری مثال زدنی NET. و SQL Server که همیشه یکی از شعارهای تبلیغاتی مایکروسافت بوده چی میشه پس؟ میبینید؟ همیشه یه جای کار مایکروسافت میلنگه.

7- من ابداً نمیگم مایکروسافت سرویسهای کمی توی NET. گذاشته ولی مسئله اینه که اگه یک قابلیت خاص رو لازم داشته باشیم که توی NET. نباشه، بجز دعا کردن برای اینکه توی نسخه بعدی بگذارن چه کاری از دستمون بر میاد؟ میخواین به support@microsoft.com ایمیل بزنین؟ فکر میکنین تا وقتی شرکتی به بزرگی گوگل نباشین، ایمیلهاتون رو میخونن واقعاً؟ حالا درمقابل براشون این سؤال رو مطرح کنید که چه سرویسی لازم دارن که PHP فراهم نکرده؟

8- بزرگترین سایتهای دنیا که با PHP نوشته شدن رو ببینید: Facebook و Twitter و Wikipedia و Yahoo و WordPress و vBulletin و بطور کلی بیش از 81 درصد سایتهای دنیا
حالا سؤالم اینه که واقعاً برای شرکتهای بزرگی مثل فیسبوک و... خریدن لایسنس مایکروسافت سخت بوده؟ پولش رو نداشتن؟ یا علت اینکه اومدن سمت PHP اینه که بازمتن هست و میتونن هرطور بخوان سفارشیش کنن؟ اگه PHP بازمتن نبود Facebook چطور میتونست HipHop و HHVM رو براش تولید کنه و بصورت کامپایلی درش بیاره؟ سایت کاخ سفید با Drupal نوشته شده. Drupal با چی نوشته شده؟ بله PHP
پس این حرف که PHP چون Open Source هست، امنیت کمتری داره یک ادعای ناشی از بیسوادی مطلق گوینده بیشتر نیست.

بازم تأکید میکنم که شما حق دارین درمورد ابزار کار خودتون تحقیق کنید ولی این حق رو به مشتری ندین. این شرکت بزرگ و عظیمی که شما ازش اسم میبرین (مایکروسافت) تا حالا چه کار بزرگی کرده؟ تمام محصولاتی که ساخته تجاری هستن. شما اگه ویندوز رو قانونی بخرین، برای هر کاربر باید لایسنس جدا بگیرین. این یعنی من بیام به شما ماشین تک صندلی بفروشم بعد بگم واسه هر صندلی اضافه باز باید پول بدی. محصولات مایکروسافت همونطور که از اسمش مشخصه (Micro-soft) برای برنامه های کوچک خوبن ولی واقعاً وقتی گستردگی و تخصصی بودن برنامه شما از یه حدی فراتر رفت، دیگه جوابگو نیست و باید سراغ گزینه های تخصصی توی فیلد کاری مربوطه مثل Delphi و Java و PHP و... رفت. آچارفرانسه ابزار خوبیه ولی هیچوقت باهاش نمیتونید لوله زنگ زده ای که سفت شده رو باز کنید و آچار لوله گیر (ابزار تخصصی) لازم دارین.

مهرداد سیف زاده
شنبه 22 آذر 1393, 19:32 عصر
در مورد تجربه یکی از همکاران در مورد استفاده از ابزارهای تجاری بگم
یکی از همکاران میگفت چند سال پیش از سیسکو تعدادی روتر خریدیم. همونطور که میدونید روترهای سیسکو دارای سیستم عاملی بر پایه لینوکس ولی انحصاری و اختصاصی شده توسط سیسکو و اسمش هم ios هست. این دوستمون توی برنامه نویسی c و شبکه بسیار ماهر بود. گفت این ابزارها در خارج از ایران خریداری شده بود و ما هم برای ارتباط با سیسکو و رفع مشکلات اکانت و هویت غیر ایرانی داشتیم. در جایی از این روترها به مشکل برخورد کردم. خودم کمی با دستگاه ور رفتم و فهمیدم باگی هست که در ios‌وجود داره. این رو برای سیسکو گزارش دادم. مهندسان سیسکو بعد از ۳ هفته یک ایمیل دادن که درخواست شما در صف هست. و بعد از حدود ۲ ماه یکی از مهندسان ارشدش با من تماس گرفت تا مشکل رو بیشتر توضیح بدم و اونم بعد از بررسی گفته بله این باگی هست که سیستم رو دچار اختلال میکنه. گفتم کی برطرف میشه چون ما چندین دستگاه خریدیم و الان یه قسمت از شبکه سازمانی بخاطر این از کار افتاده. خلاصه بعد از سه سال برای دوستمون ایمیل میاد که باگ گزارش داده شما در فلان تاریخ برطرف شده و به release note سری بزنید و ios خودتون رو بروز رسانی کنید.
حالا به نظر شما اگر این باگ برای php ارسال میشد چند وقت طول میکشید بررسی بهشه. به جرات میتونم بگم در ابزارهای اوپن سورس و سیستمهای bug report شون در کمتر از ۱۲ ساعت جواب میدن و کلا برای رفع اون باگ در کمتر از یک هفته تلاش میکنن و نسخه مینور جدید میدن.
شرکتهای تجاری این رو حق خودشون میدونن که هر موقع دلشون خواست محصولشون رو شخم بزنن و کاربرها هم باید این تغییرات رو بپزیرن ولی در ابزارهای اوپن سورس هر تغییری بسته به نظر جامعه صورت میگیره و اونم این طوری نیست که یهو شخم بزنن.
البته مشتری ها حق دارن بدونن که از ابزار رایگان استفاده شده یا تجاری. این برای کشورهای دیگر خیلی مهمه. مثلا یکی از این ابزارهای extjs هست. که برای استفاده از اون در پروژه های تجاری آنلاین باید پول پرداخت کنید.
تجربه ثابت کرده که ابزراهای اوپن سورس اعتماد بیشتری دارن تا تجاری.

iranch
شنبه 22 آذر 1393, 20:55 عصر
معماری

پی اچ پی برای طراحان سایت و گریز از پیچیدگی های ابزارها و زبانهای آن روزگار ایجاد شده است و بنابراین PHP اولیه یک ابزار ساده و نه چندان پیچیده بوده است. البته PHP در این سالها ارتقاء پیدا کرده است اما هنوز نقصهای اولیه ای را دارد( مثلا با وجود شی گرایی هنوز دستورات و توابع زیادی از آن ارتباطی با شی خاصی ندارد و یا خاصیتهای حرفه ای شی گرا را ندارد.). اما دات نت فراتر از یک زبان است و مجموعه از کتابخانه های استاندارد و زبانهایی که تقریبا تمام قابلیتهای زبانهای روز دنیا را دارند. سینکس حرفه ای، استاندارد و جذاب #C و یا سینتکس ساده و کارآمد VB.NET و البته #J و ++C و چند زبان دیگر نیز وجود دارند. دات نت کاملا شی گرا است و معماری آن حرفه ای است و از این جهت با JAVA (آنرا را با جاوا اسکریپ اشتباه نگیرید) قابل مقایسه است. در واقع از لحاظ معماری JAVA و دانت نت پلاتفرمهایی با معماری Enterprise هستند و PHP زبانی ساده با تمرکز برای نوشت اسکریپهای وب. شرکت ZEND که در حال حاضر Engine اصلی PHP را ارائه میدهند و برخی شرکتهای دیگر تلاشهایی برای ارتقاء و ایجاد فریم ورک حرفه ای تری برای PHP دارند اما در کل و از لحاظ مهندسی نرم افزار معماری دات نت برتری محسوسی نسبت به PHP دارد.
در بعد دیگر ابزارهای کار با دات نت و آموزه ها و پتانسیل دات نت نوشتن نرم افزارهای با معماری بهتر را امکان پذیر میکند و حتی بصورت پیش فرض معماری چند لایه در دات نت وجود دارد. همچنین نرم افزارهای مهندسی نرم افزار مانند ابزار CASE Tools ، Rational و... همخوانی با دات نت دارند .
یکی از مهمترین تفاوتهای ASP.NET و PHP در شکل اجرای آنهاست. در PHP در هر بار اجرای اسکریپ کدهای PHP تفسیر می شود ولی در دانت نت یکبار کدها کامپایل می شوند و در دفعات بعد کدهای اجرایی هستند که اجرا می شود. از این لحاظ بخصوص در نرم افزارهای تحت وب با حجم کد بالا اجرای کدهای کامپایل شده به مراتب سرعت بیشتری خواهند داشت. البته شرکتهای مختلفی برای PHP ابزارهای accelerator و caching نوشته اند اما به هر حال در دات نت اینکار بصورت ذاتی و بدون نرم افزار خاص دیگری انجام می گیرد.


سرعت توسعه نرم افزار

اگر قرار باشد فقط چند خط برای نوشتن در صفحه یا گرفتن پارامتری از کاربر داشته باشیم مطمئنا نوشتن با PHP ساده تر و سریعتر خواهد بود. اما هدف دات نت تسریع در نوشتن سایتهای بزرگ با فرمها و اطلاعات متعدد است. در ASP.NET از طراحی صفحاتی که web form نامیده می شوند تا حتی دسترسی به بانک اطلاعات و ماهیتهای مختلف اطلاعات، نمایش اطلاعات (مانند جداول) ابزارهای بصری وجود دارند که این در نهایت کار را بسیار ساده تر میکند همچنین برخی مسائل را به راحتی میتوان به فریم ورک دانت نت سپرد (مانند Caching، اعتبار سنجی اطلاعات ورودی authentication و...) همچنین استفاده از کتابخانه غنی دانت نت باعث می شود که نیاز چندانی به استفاده از کتابخانه توابع خارجی نباشد که این در توسعه نرم افزار بصورت تیمی و پشتیبانی یک مزیت به شمار می رود. البته در PHP نیز ابزارهای برای تسریع طراحی و نوشتن اسکریپتها وجود دارند اما هر کدام برای شرکتهای مختلفی است و شکل کار متفاوت است.

سرعت اجرای نرم افزار

همانطور که اشاره شده صفحات و کدهای ASP.NET کامپایل می شوند و قابل حدس است سرعت اجرای آنها نسبت به اجرای اسکریپت PHP بیشتر است و البته این کاملا درست است. اما در واقع شرایط به همین سادگی نیست. در اسکریپتهای PHP مفسر سریعا کدهایی که بایستی تفسیر شوند را اجرا کرده و خروجی را مرورگر کاربر می فرستند. اما در ASP.NET به غیر از کدهای نوشته شده توسط برنامه نویس چندین ماژول در لایه های دیگری نیز اجرا می شوند. (مثلا تنظیمات را میخوانند. خروحی کنترلهای وب فرمها را تولید (Generate) میکنند،اعتبار سنجیها را انجام میدهند) و اینها در سرعت اجرا موثر خواهند بود(البته امکاناتی برا حذف و بهبود سرعت وجود دارد) بنابراین با توجه به تجربه شخصی در اسکریپتهای ساده (در حد چند ده خط) و تعداد دفعات اجرای معمول سرعت اجرای PHP و ASP.NET آنقدرها اهمیت خاص ندارد. توجه کنید که به هر حال نرم افزارهای بر تسریع اجرای PHP نیز وجود دارند. اما در اجرای نرم افزارهای بزرگتر مانند web application هایی که از دهها یا صدها کلاس و لایه های مختلف تشکیل شده اند مطمئنا برتری با نرم افزارهای کامپایل شده خواهد بود. البته میدانید که در نسخه های کامپایل شده نیازی به قرار دادن سورس کدها در وب سایت یا ارائه آن به مشتری نیست که این قضیه برای بسیاری شرکتها (بخصوص برای حمایت از حقوق نرم افزار و همچنین امنیت) یک مزیت به حساب می اید.

دیگر موارد

یکی از خصوصیات PHP کدباز یا Open Source بودن آن است که توسط طرفداران PHP به عنوان یک مزیب به شمار می رود. این قضیه این امیدواری را ایجاد میکند که PHP با عدم پشتیبانی در آینده مواجه نخواهد بود و به روند رو به توسعه خود ادامه خواهد داد اما از طرفی با نگاه واقعگرایانه خواهیم دید که مفسر اصلی و برخی از مهمترین ابزارهای PHP توسط یک شرکت خاص (Zend )عرضه می شود و در عین حال مایکروسافت توانسته پیشرفت قابل توجهی در مقایسه در ابزارها و بسترهای توسعه نرم افزار خود ایجاد کند.همچنین نکته ای که برای فارسی زبانان قابل توجه است پشتیبانی ذاتی دات نت از یونی کد و رشته های فارسی است. در PHP اگرچه ارسال یا دریافت اطلاعات فارسی امکان پذیر است اما در واقع خود PHP درک درستی از آن ندارد و این قضیه در زمان کار پیچیده با رشته ها مشخص تر است.

علیرضا شیرازی

MMSHFE
شنبه 22 آذر 1393, 21:11 عصر
دوست عزیز، منبع این مقاله، صحبتهای آقای شیرازی (مدیر بلاگفا) هست که هم یک منبع قدیمی محسوب میشه و هم درصورت لزوم میتونم اثبات کنم خیلی جاهاش اشتباهات زیادی داره. بخصوص اینکه اومده یک فریمورک رو با یک زبان مقایسه کرده. شما میتونید ASP.NET رو با فرضاً Zend Framework یا Yii یا Laravel یا Symfony مقایسه کنید. اونوقت خواهید دید که PHP هم توی توسعه و ارائه ابزارهای امن، چیزی کم نداره. لطفاً موقع نقل قول کردن، نسبت به صحت و اعتبار منبعتون دقت زیادی داشته باشین. فریمورکهای معروف PHP همه ابزارهایی مثل Code Generator یا Form Creator و Validator و... رو دارن. پس این مزیت فقط توی مقایسه PHP خام با NET. مطرح میشه که طبیعتاً منطقی نیست که یک فریمورک رو با یک زبان مقایسه کنیم. مسائلی مثل کار با Unicode و... هم امروزه دیگه توی PHP مشکل بحساب نمیاد، تا جایی که حتی توی RegExp مستقیماً میتونید از کارکترهای فارسی استفاده کنید. بحث کامپایل هم که بارها گفتم توی NET. دو مرحله ای هست و کدها با کامپایل اولیه به Native Code تبدیل نمیشن بلکه به MSIL تبدیل میشن و بعد در هربار اجرا باید با JIT Compiler تبدیل به زبان ماشین بشن. دلیل این سیاست مایکروسافت رو هم قبلاً گفتم و میتونید جستجو کنید ولی بهرحال چیزی که مسلمه اینه که یک مرحله کامپایل در هربار اجرا انجام میشه و ازطرفی PHP هم با ابزارهایی مثل OPCache یا APC میتونه کدها رو در اولین تفسیر، تبدیل به Bytecode و Cache کنه (مشابه MSIL) و در دفعات بعد این بایت کدها هستن که با سرعت اجرا میشن و اسکریپت دیگه خط به خط تفسیر نمیشه. تازه ابزارهایی مثل HipHop هم هست که توسط فیسبوک بصورت بازمتن تولید شده و کدهای PHP رو تبدیل به کدهای کامپایل شده (توسط GCC) و بهینه سازی شده ++C میکنه و بصورت CGI و با سرعت خیلی زیادی میشه این کدها رو اجرا کرد (این کدها دیگه مستقیماً Native Code خواهند بود). دوستانه توصیه میکنم توی مقایسه زبان ها، وضعیت حال حاضر اونها رو مدنظر قرار بدین.

iranch
شنبه 22 آذر 1393, 21:21 عصر
بله آقای شیرازی مطلب رو نوشتند و خوشبختانه من فامیلی ایشون رو ته مطلب ذکر کردم..مورد اصلی این است که این مواردی که اقای شیرازی گفته در ذات .نت وجود دارد و نیازی به تنظیم و اضافه کردن موارد نرم افزاری نیست اما خود شما هم میفرمایید که خیلی از این موارد باید اضافه شوند. و اضافه کردن خودش از آنطرف مسائل مربوط به خودش را دارد
برای یک برنامه نویس متوسط آیا اضافه کردن این مسائل و بهره بردن از امکاناتش کار سهل و آسانی است؟
در مورد ارائه ابزار های مهم توسط Zend در قیاس با Microsoft نظرتون چیه؟
در پاراگراف سوم در مورد سرعت اجرای نرم افزار - در قسمت آخر و قضیه سورس کد ها و ارائه آن نظرتون چی هست؟

MMSHFE
شنبه 22 آذر 1393, 21:27 عصر
برای یک برنامه نویس (نه کدنویس) اضافه کردن قابلیتها کار سختی نیست. اضافه کردن خیلی از قابلیتها در لینوکس در حد نوشتن یک خط دستور apt-get یا yum ساده است. مثل ویندوز نیست که کلی دردسر و سروکله زدن با رجیستری و... بخواد.
درمورد ابزارها هم منظورتون رو نفهمیدم ولی اگه منظورتون Visual Studio هست، کافیه به امکاناتی که Zend Studio در اختیار برنامه نویس PHP میگذاره نگاهی بندازین و از دید یک برنامه نویس، امکاناتش رو با Visual Studio مقایسه کنید. خواهید دید که چیزی کم نداره. خاصیت Drag & Drop کنترلها، چیزی نیست که یک برنامه نویس بهش نیاز داشته باشه و جزو نیازمندیهای یک طراح محسوب میشه که برای اینکار هم Dreamweaver وجود داره که خیلی بهتر و قشنگتر از VS مایکروسافت کار میکنه و بروزتر هم هست.
درمورد سرعت که به حد کافی توضیح دادم و درمورد بحث امنیت کدها و قراردادن کد کامپایل شده روی سرور هم راههای زیادی مثل استفاده از برنامه های کدگذاری مثل ionCube و ZendGuard و SourceGuardian و... یا قراردادن اسکریپت روی سرور اختصاصی وجود داره. اینها چیزی نیست که بخواین بعنوان برتری ازش یاد کنید.
همین آقای شیرازی قبل از اینکه بلاگفا رو با دات نت بازنویسی کنه ید طولایی در دفاع از PHP داشت :چشمک:
حالا یک سؤال از شما دارم: اگه مشتری با توجه به سابقه طولانی ویندوز در امر باگ امنیتی و... و هزینه کمتر سرور لینوکس (لایسنس رایگان) و پایداری بیشتر و عدم نیاز به آنتی ویروسهای گرونقیمت و سنگین، ترجیح داد از سرور لینوکس استفاده کنه، اونوقت میشه بفرمایید چطور میخواین از ASP.NET برای مشتری مربوطه استفاده کنید؟ نکنه واقعاً میخواین متقاعدش کنید (یا خودتون اینطور فکر میکنید) که سرور ویندوز به اندازه سرور لینوکس امن و پایداره؟

iranch
شنبه 22 آذر 1393, 21:36 عصر
قطعا سرور های لینوکس پایدار تر از ویندوز است. در بحث شبکه بحث کاملا متفاوت است.
آیا Zend را میتوان با Microsoft مقایسه کرد؟!

MMSHFE
شنبه 22 آذر 1393, 21:42 عصر
بله نه تنها میشه Zend رو با Microsoft مقایسه کرد، بلکه در موضوعات مهمی مثل Support و Bug Report و Bug Fix و Community و... Zend به مراتب بهتر از Microsoft عمل کرده. برای هر قابلیت جدیدی که قراره به PHP اضافه از چند ماه قبل نظرسنجی گذاشته میشه. روی GitHub نظرات و کامنتها قرار میگیره. حتی افراد میتونن یک نسخه از سورس رو بگیرن (Fork) و ویرایش کنن و Submit بشه و تیم توسعه بعد از بررسی، درصورتی که دید مناسب هست، جزو هسته میکنه و اسم فرد جزو Contributorها درج میشه. بعد از اینکه یک قابلیت منسوخ شد، تا چند نسخه بعدی PHP بعنوان Backward Compatibility دستورات قبلی حفظ میشن و فقط هشدار Deprecated (منسوخ شده) صادر میکنن که همون رو هم میشه مخفی کرد. درواقع به برنامه نویسها فرصت کافی برای سازگارکردن کدهاشون با تغییرات جدید داده میشه. یک مرتبه نمیاد همه چیز رو شخم بزنه و بگه برنامه نویس به جهنم، مهم اینه که من محصولم رو میفروشم و برای قابلیتهای جدید، کتابهای آموزشی هم چاپ میکنم و اونها رو هم میفروشم. حالا با این اوصاف من از شما میپرسم: آیا Microsoft رو میشه با Zend مقایسه کرد؟

rezaonline.net
شنبه 22 آذر 1393, 21:55 عصر
Zend و مایکروسافت اصلا در یک دسته قرار نمیگیرند که بخوایید مقایسه کنید وقیاستون اشتباهه و حالا بلفرض بگیم زند بهتره یا مایکروسافت بهتره. اونوقت دقیقا چه نتیجه ای میگیرید ؟ از قدیم گفتن عقل به بزرگی و کوچیکی نیست

بهزاد علی محمدزاده
شنبه 22 آذر 1393, 23:04 عصر
کی گفته قراره NET. بازمتن بشه؟ فقط بخشهایی از ASP.NET رو اومدن بازمتن کردن که اونم نشونه تعظیم مایکروسافت درمقابل قدرت جامعه Open Source هست و ثابت میکنه بالأخره این شرکت درمقابل سیاست نرم افزارهای آزاد داره زانو میزنه. تازه همین ASP.NET که بازمتن شده به چه درد میخوره؟ مثلاً قراره روی لینوکس اجرا بشه؟ چطوری؟ با IIS ؟ با Apache قراره NET. رو اجرا کنیم؟ نکنه منظورشون پروژه Mono هست که بیشتر به یه جوک شبیهه؟ اونوقت دیتابیس چی؟ قراره با SQL Server کار کنیم؟ چطوری SQL Server رو روی لینوکس اجرا کنیم؟ اون که بازمتن نشده! تازه بازمتن شدن هم بدرد نمیخوره به تنهایی. نسخه Linux که نداره. نکنه قراره ASP.NET رو همراه با MySQL بکار ببریم؟ میدونید اونوقت چقدر دستور و ساختار داخلی NET. باید عوض بشه؟ یکپارچگی و سازگاری مثال زدنی NET. و SQL Server که همیشه یکی از شعارهای تبلیغاتی مایکروسافت بوده چی میشه پس؟ میبینید؟ همیشه یه جای کار مایکروسافت میلنگه.


سلام. آقای شهرکی برخی از نظرات شما در مورد دانت صحیح هست , مثل تغییرات زیاد . اما برخی از صحبتهاتون درست نیست. یعنی ما در شبانه روز اینقدر دیگه وقت نداریم که همه ابزارهای همه شرکت ها رو خوب بشناسیم تا بتونیم در موردشون اینقدر قطعی نظر بدیم.

مگر شما نمی دونید که مایکروسافت ORM داره و وقتی هم با ORM کار می کنید دیگه مساله نوع دیتابیس مطرح نیست؟!... پس چطور همچین حرفی رو زدین ؟! با همین Entity Framework مایکروسافت می تونید با MySql کار کنید.لینک (http://www.asp.net/identity/overview/getting-started/aspnet-identity-using-mysql-storage-with-an-entityframework-mysql-provider)
اصلا قاعده ORM همینه !

موارد دیگه ایی هم هست : اینکه چرا باید SQL Server روی لینوکس اجرا بشه ؟ مایکروسافت سیستم عامل های خودش رو داره و تکنولوژی هاش در حدی عادی نیست که بتونه بیاد اونها رو integrate کنه با فرضا لینوکس !!!

و یا امنیت در سرورهای لینوکس و ویندوزی : بر اساس یه باور قدیمی دارید صحبت می کنید و یا مستدل ؟ آیا واقعا برنامه نویسی asynchronous به عنوان یه قابلیت مطرح نیست که یه بار اسمی ازش برده بشه ؟. این و که برنامه نویس دات نت بطور مستقیم باهاش سرو کار داره. و شما هم که #C رو میشناسید ... چطوره که با اضافه کردن افزونه ها برای بدست آوردن Thread در php یه قابلیته اما این نیست !!! آیا SignalR قابلیت نیست ؟ آیا Linq قابلیت نیست ؟

ویدیو به عنوان نمونه از قابلیت های برنامه نویسی غیرهمزمان در asp.net mvc :

C#‎5, ASP.NET MVC 4, and asynchronous Web applications (http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2287)
شاید دوستان تازه کاری مثل من که دنبال مقایسه بین زبان ها و تکنولوژی ها هستند, از کنار این حرفها بگذرند و شاید اصلا درکش نکنند اما اگر با دات نت کارها اینطوری صحبت کنید به نظر من روی اون وجهه حرفه ایی تون اثر منفی میذاره. نه بخاطر اینکه نقد می کنید , بلکه نقدتون منصفانه و عمیق نیست.

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

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

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

من شک ندارم کسی که همینجوری میگه برای php فریم ورک زیاد هست به عنوان مثال symfony و zend و ... این آدم کار اجرایی زیاد انجام نداده ! یا مدرس هست و یا زمینه کاری غیر از کار اجرایی داره! چون از مدرسین دانشگاه معمولا این حرفها رو شنیدم.

خود من هم همچین طرز فکری داشتم. اما هرچه که به کار اجرایی نزدیک میشدم , مزایا و معایب این ابزارها هم برام بیشتر روشن میشد و شعارها فرو میریخت و واقعیت ها خودنمایی می کرد. آخه مگر انتخاب سیمفونی برای توسعه به همین سادگی هست ؟

نیروی کارش و از کجا باید تامین کنیم ؟ اگر اون نیرو رفت جایگزینش و از کجا بیاریم؟ در شهر من چند برنامه نویس سیمفونی هست ؟ در صورتی میشه یکی از این فریم ورک ها رو انتخاب کرد که شما بدونید در محل زندگی خودت تیم ها و شرکت هایی هستند که با این فریم ورک ها کار می کنن و اگر شما این و یادبگیرید یه تیم وارد میشید و یا اگر از تیمی خارج شدید میرید به تیم دیگه و یا نیرویی رو اگر از دست دادید کسی دیگه رو جذب می کنید و خلاصه اینکه برنامه نویسش هست.
اما در دنیای php هرکسی ساز خودش رو میزنه. یکی yii و یکی cakephp , لاراول و ... و کنار هم گذاشتن اینها برای توسعه کار آسانی نیست. برخی به عنوان قدرت ازش یاد می کنن اما به عنوان ضعف هم میشه بهش نگاه کرد. این ضعف جدای از مقایسه زبان ها و ... هست.

می خواید تنها کار کنید ؟ در صورتی می تونید اینکار و انجام بدین که واقعا سالها برنامه نویسی کار کرده باشید و مسائل front-end و یه جورایی نداشته باشید.( می تونم در این مورد بیشتر صحبت کنم اگر لازم باشه. )
برای توسعه از پایه ( یا تولید محصول ) این یکی از اشکالات php و فریم ورک هاش هست که شما در .net این مشکل رو ندارید. میگید برنامه نویس asp.net mvc می خوام و در همه جای دنیا برنامه نویسش یکیه ...

بایستی برخی مشکلات و توی کار تجربه کرد تا متوجه شعارها از واقعیت ها بشید. خیلی از مقایسه ها و خیلی از راهنمایی هایی که مطرح میشه اشتباهه و واقعا قابل تکیه نیست. ممکنه راه حل و مسیر شما php باشه و ممکنه دات نت , اما آنچه که اصلا اهمیت نداره اونم اینه که فیس بوک با چی نوشته شده !!! و خیلی سخت هم پیش میاد که انتخاب شما zend باشه !!! خیلی ها رو هم که می بینید در حقیقت دارند با این فریم ورک ها بازی می کنند به جای کار. یه مدتی لاراول و یه مدتی هم میره سراغ cakephp و بعد میبینه که مطلبی در مورد زند نوشته شده اونوقت اونها رو ول میکنه میره سراغ این. مدتی هم این و ... تو خود حدیث مفصل بخوان از این مجمل .

H:Shojaei
یک شنبه 23 آذر 1393, 00:56 صبح
خود من هم همچین طرز فکری داشتم. اما هرچه که به کار اجرایی نزدیک میشدم , مزایا و معایب این ابزارها هم برام بیشتر روشن میشد و شعارها فرو میریخت و واقعیت ها خودنمایی می کرد. آخه مگر انتخاب سیمفونی برای توسعه به همین سادگی هست ؟

نیروی کارش و از کجا باید تامین کنیم ؟ اگر اون نیرو رفت جایگزینش و از کجا بیاریم؟ در شهر من چند برنامه نویس سیمفونی هست ؟ در صورتی میشه یکی از این فریم ورک ها رو انتخاب کرد که شما بدونید در محل زندگی خودت تیم ها و شرکت هایی هستند که با این فریم ورک ها کار می کنن و اگر شما این و یادبگیرید یه تیم وارد میشید و یا اگر از تیمی خارج شدید میرید به تیم دیگه و یا نیرویی رو اگر از دست دادید کسی دیگه رو جذب می کنید و خلاصه اینکه برنامه نویسش هست.
اما در دنیای php هرکسی ساز خودش رو میزنه. یکی yii و یکی cakephp , لاراول و ... و کنار هم گذاشتن اینها برای توسعه کار آسانی نیست. برخی به عنوان قدرت ازش یاد می کنن اما به عنوان ضعف هم میشه بهش نگاه کرد. این ضعف جدای از مقایسه زبان ها و ... هست.

در کل به نظر شما این یه مشکل محسوب میشه که برنامه نویس و متخصص در این زمینه ها توی php نداریم و توی .net زیاد هست...
شما خودتون خدا رو شکر میفرمایید که اجرایی کار میکنید بنابراین باید تو تجربیاتتون به این نکته هم رسیده باشید که یاد گرفتن و یاد دادن سینتکس حتی یه زبان (فریمورک که سهله) در حدی نیست که بخواد وقت یه برنامه نویس که اجرایی بخواد کار کنه رو بگیره واقعا مساله این نیست که سیمفونی کسی بلد نیست یا yii یا cakephp یا هر زبان و فریمورکهایی تو هر زبان دیگری چون وقتی قراره یه نیرو استخدام بشه قرار نیست امروز بیاد و فردا بره و قرار هم نیست که همه چیز رو به لحاظ سینتکس اون زبان یا فریمورک حتی توی .net بلد باشه (بالاخره هر کسی یه قواعدی تو اجرای پروژه ها داره که شخص تازه وارد باید اونها رو یاد بگیره) و یاد دادن و یاد گرفتن هم واسه برنامه نویس اصلا کاری نداره طرف باید برنامه نویس باشه فقط همین سینتکس یاد گرفتنو کلا از یه زبان یا یه فریمورک به یکی دیگه رجوع و کار کردن اصلا مشکل نیست در مقایسه با پشتیبانی ها و مباحث دیگه ای که تو بحث ذکر شده...
بنده اصلا حرفه ای نیستم ولی فریمورک codeigniter رو کار کردم و میدونم چی به چیه شما یه برنامه نویس اصلا برنامه نویس .net بیارید پیش من تا 1 روزه کل مباحثش رو بهش یاد بدم که یه پروژه بهتون با همون دانشش طبق اصول این فریمورک تحویل بده...
(همون طور که خودم تونستم توی 1 روز .net رو یاد بگریم و بعدش هم پروژه بنویسم)
من خودم به آمار و ارقام اصلا اعتقادی ندارم ولی اینجا بحث کم بودن آمار برنامه نویسان PHP یا فریمورک های مبتنی بر اون توی دنیا هست حالا چطور برنامه نویس واسه php کمه در صورتی که 81% کل سایتها با این زبانه؟؟
من از مشکلات پیچیده ای که مطرح شد اطلاعات زیادی ندارم ولی طبق چیزی که تجربه کردم و خدا رو شکر اصلا با PHP این رو تجربه نکردم این بوده که بارها و بارها و بارها پیش اومده که یه برنامه نوشتم کلا با محصولات مایکروسافت این برنامه با یک بار ارتقاع یا حتی تعویض ویندوز کلا کار نکرده!! واقعا این اشکال از همه بیشتر تو چشم من یکی بوده و نه حتی خودم یکی خیلی از دوستان رو هم دیدم که به اینطور مشکلات برخوردن کلا طبیعی شده این مساله دیگه مثل این که برنامه نویس باید تکامل پیدا کنه که این عیب رفع بشه نه محصولاتی که داره باهاشون کار میکنه...
تو محصولات مایکروسافت یه چالشی که همیشه هست وقتی یه نسخه جدید میاد به جای این که به فکر استفاده از قابلیتهایی جدیدش باشیم باید به این فکر کنیم که حالا قابلیتهای جدید اگه داشته باشه به کنار بیایم اول ببینیم چی حذف شده یا تغییر کرده با اونا سازگار کنیم خودمون رو.
وقتی هر چیزی ارتقاع پیدا میکنه (.net framwork) باید قابلیتهایی که قبلا داشته رو هم ساپورت کنه نه که من حتما باید هم این نسخه هم اون نسخه هم اون یکی نسخه شو داشته باشم تا بتونم درست کارم رو انجام بدم...

Unique
یک شنبه 23 آذر 1393, 02:10 صبح
امروز کار داشتم عجب بحث داغی را از دست دادم ، الان هم نصفه شبه و فقط توی چند خط (راستی من آقای شهرکی را در زمینه پروژه ای خوب نمیشناسنم ولی صحبت هاشون را اکثرا تایید میکنم اما خودم هم روی net. و هم php تجربه پروژه های بزرگی را داشتم و دارم. این را برای اون دوستمون گفتم که میگفت در عمل معلوم میشه ،‌این را هم بگم که بنده بعد از ۶ سال کار با net. به سمت php وجایگزینی اومدم)

به سه دلیل مهم PHP را شخصا انتخاب کردم و توصیه میکنم :

۱ - سورس باز بودن (اگه کسی نمیدونه چه مزایایی داره که خوب چی بگم؟! باید تحقیق کنه و نمیتونم توی یک پست خیلی توضیح بدم)
۲ - net. روی Linux کار نمیکرد و Stability که لینوکس داره (حالا جدا از خیلی امکانات که به نظر من اون را از ویندوز متمایز و برتر میکنه) + هزینه های خیلی کمتر سرویس دهنده برای من خیلی مهم بود.
۳ - مایکروسافت هر روز یک سازی میزد و از این نسخه به اون نسخه کلی درسر داشتیم که این موضوع توی php اصلا به اون شکل و روال نیست و همه چیز در کنترل خودمونه !

در مورد ابزار و اینها هم برای من جالبه سر چی دارین بحث میکنید ؟ کیفیت برنامه نویسی هیچ ربطی به ابزار نداره ! ابزار برای برنامه نویسای مبتدی خیلی مهمه. من php کار هایی را میشناسم با vim کد میزنن و سراغ zend و eclipse و غیره را هم نمیگیرن‌! حالا چه برسه به Visual Studio به اون سنگینی و ....

در مورد framework هم خودم اعتقادی ندارم اما توی هر شرکتی بالاخره باید یک framework یا زبان استفاده بشه و با همون کار کنند و از همون هم نیرو بگیرند ! شرکت هایی زیادی هستند از jsp و coldfusion استفاده میکنند و کار های بزرگ دولتی و خصوصی هم میگیرن ! پس مطمئن باشین یادگیری یک framework و استفاده از اون برای شرکتی مشکل ساز نیست.

در مورد اون دوستی که نظر کارفرما و اینکه مثلا روی php و net. تعصب داره باید بگم که کارفرمایی که دنبال net. هست مشتری ما نیست. براش توضیح میدیم حالا تصمیم با خودشه. شما که نباید به ساز مشتری برقصی ! مثلا مشتری بگ من میخوام سایت ما Oracle کار کنه شما انجام میدی ؟ بعدش کلی باید سر هاست و هزینه هاش و غیره باهاش کلنجار بری. کار خودتون را بکنید و دهن بین نباشین.

MMSHFE
یک شنبه 23 آذر 1393, 08:13 صبح
مگر شما نمی دونید که مایکروسافت ORM داره و وقتی هم با ORM کار می کنید دیگه مساله نوع دیتابیس مطرح نیست؟!... پس چطور همچین حرفی رو زدین ؟! با همین Entity Framework مایکروسافت می تونید با MySql کار کنید.لینک (http://www.asp.net/identity/overview/getting-started/aspnet-identity-using-mysql-storage-with-an-entityframework-mysql-provider)
اصلا قاعده ORM همینه !
موارد دیگه ایی هم هست : اینکه چرا باید SQL Server روی لینوکس اجرا بشه ؟ مایکروسافت سیستم عامل های خودش رو داره و تکنولوژی هاش در حدی عادی نیست که بتونه بیاد اونها رو integrate کنه با فرضا لینوکس !!!
دوست عزیز، انگار کامل صحبتهای من رو متوجه نشدین. من نگفتم مایکروسافت ORM نداره یا نمیتونیم از #C برای وصل شدن به MySQL استفاده کنیم. صحبتم این بود که قطعاً کارآیی که NET. با SQL Server داره با بقیه DBMSها نداره چون اکثر ابزارها برای کار بصورت پیشفرض با SQL Server طراحی شدن. اگه قرار باشه بیایم با NET. با دیتابیس MySQL کار کنیم، خوب چرا از PHP استفاده نکنیم که چندین برابر بهینه تر باهاش ادغام میشه؟ ازطرف دیگه صحبت من این بود که اجرای ASP.NET روی لینوکس بدون SQL Server باعث افت شدید کارآیی میشه و درنتیجه عملاً ایجاد قابلیت اجرای ASP.NET روی لینوکس (حتی اگه مشکل وب سرور حل بشه) بدون اینکه بتونیم SQL Server رو هم اینطرف داشته باشیم، کار بیهوده ای هست چون هیچکس (حداقل NET. کارهایی که من دیدم) حاضر نیستن از SQL Server Management Studio دست بکشن.

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

آیا واقعا برنامه نویسی asynchronous به عنوان یه قابلیت مطرح نیست که یه بار اسمی ازش برده بشه ؟. این و که برنامه نویس دات نت بطور مستقیم باهاش سرو کار داره. و شما هم که #C رو میشناسید ... چطوره که با اضافه کردن افزونه ها برای بدست آوردن Thread در php یه قابلیته اما این نیست !!! آیا SignalR قابلیت نیست ؟ آیا Linq قابلیت نیست ؟
من کی گفتم اینا قابلیت نیست؟ ولی واقعاً این قابلیتها درمقابل معایبی که گفتم محسوس نیست. مگه چندتا پروژه هست که به SignalR احتیاج پیدا میکنه؟ مگه قابلیتهای LinQ واقعاً اینقدر حیرت انگیزه که توی PHP نمیشه چنین چیزایی داشته باشیم؟ معایبی که من گفتم ایرادهای ساختاری سیاستهای خود Microsoft هست نه محصولاتش. با تعصب به قضیه نگاه نکنید. اضافه کردن Threadیک قابلیته که خوب هم هست ولی خیلی هم ضروری نیست. واقعاً فکر میکنید چند پروژه سایت در سال بهتون بخوره که نیاز به برنامه نویسی Multi-thread داشته باشه که بخوایم روی این قابلیت انگشت بگذاریم؟

شاید دوستان تازه کاری مثل من که دنبال مقایسه بین زبان ها و تکنولوژی ها هستند, از کنار این حرفها بگذرند و شاید اصلا درکش نکنند اما اگر با دات نت کارها اینطوری صحبت کنید به نظر من روی اون وجهه حرفه ایی تون اثر منفی میذاره. نه بخاطر اینکه نقد می کنید , بلکه نقدتون منصفانه و عمیق نیست.
دات نت کاری که نقصهای سیاست کاری مایکروسافت رو انکار کنه (ضمن عرض شرمندگی) اصلاً برام اونقدر اهمیت نداره که بخوام درمورد نظرش درخصوص وجهه حرفه ای خودم فکر کنم. میدونید چرا؟ چون اگه سیاستهای شرکت مایکروسافت اشتباه نبود جلوی Open Source سر تعظیم فرود نمیاورد و ASP.NET رو بازمتن نمیکرد. وقتی خود این شرکت تسلیم شده، برنامه نویسهایی که از تکنولوژیهاش استفاده میکنن چی میخوان بگن؟ بگن نه سیاستهای مایکروسافت درسته؟

شما برای طراحی دریم ویور رو بهتر از ویژوال استدیو دونستید ! حقیر یه نگاهی به طراحی دارم و شاید بطور روزانه کنفرانس می بینم در زمینه های مختلف طراحی وب , هنوز طراحی رو ندیدم با دریم ویور یا ویژوال استدیو کار کرده باشه . حرفهاتون فنی نیست و یه جورایی شبیه بهونه گیری هست با احترام.
مگه دوست عزیز، من گفتم طراحان محترم با DW کار میکنن؟ من فقط گفتم اگه قابلیت Drag & Drop کنترلها موردنظر کسی باشه، Dreamweaver هم این قابلیت رو داره و بهتر از VS هم تو این زمینه عمل میکنه.

این و چند جا توی فروم گفتم شاید برای برخی دوستان تکراری باشه. یه روز سرکلاس ساختمان داده یه مدرس داشتیم که دو تا الگوریتم و بررسی کرد , یکی از اینها سرعت بالایی داشت و حافظه بیشتری هم اشتغال می کرد و الگوریتم بعدی سرعت پایینی داشت اما حافظه کمتری هم اشغال می کرد. ازمون پرسید کدامیک از این دو الگوریتم بهتره ؟ یه عده گفتیم اولی و یه عده هم گفتیم دومی. جواب داده که کلا در علوم کامپیوتر نگید چی خوبه و چی بده , بلکه بگید مزایایی داره و معایبی . یکی سرعت بالا و حافظه بیشتر و ...
اگر دقت کنید این نکته در تمام ابزارها و روش ها و الگوریتم ها و بطور کلی در علم کامپیوتر صدق می کنه.و در مورد .net و php هم اینطور هست. اما من در اینجا نمی بینم که اشکالی هم از php گفته بشه در حالیکه بدون عیب و ایراد هم نیست.
هیچکس مدعی نیست که PHP کامل و بدون نقصه و قطعاً ایرادهای فنی ریز و درشت زیادی داره (مثل هر ابزار دیگه) ولی مسئله اصلی که ما توی این بحث روش تأکید داشتیم، فرصت دادن به Developerها برای سازگارکردن کدهاشون با تغییرات جدید هست که توی NET. این موضوع وجود نداره و عمر Developer هیچ ارزشی برای مایکروسافت نداره.

من شک ندارم کسی که همینجوری میگه برای php فریم ورک زیاد هست به عنوان مثال symfony و zend و ... این آدم کار اجرایی زیاد انجام نداده ! یا مدرس هست و یا زمینه کاری غیر از کار اجرایی داره! چون از مدرسین دانشگاه معمولا این حرفها رو شنیدم.
خود من هم همچین طرز فکری داشتم. اما هرچه که به کار اجرایی نزدیک میشدم , مزایا و معایب این ابزارها هم برام بیشتر روشن میشد و شعارها فرو میریخت و واقعیت ها خودنمایی می کرد. آخه مگر انتخاب سیمفونی برای توسعه به همین سادگی هست ؟
نیروی کارش و از کجا باید تامین کنیم ؟ اگر اون نیرو رفت جایگزینش و از کجا بیاریم؟ در شهر من چند برنامه نویس سیمفونی هست ؟ در صورتی میشه یکی از این فریم ورک ها رو انتخاب کرد که شما بدونید در محل زندگی خودت تیم ها و شرکت هایی هستند که با این فریم ورک ها کار می کنن و اگر شما این و یادبگیرید یه تیم وارد میشید و یا اگر از تیمی خارج شدید میرید به تیم دیگه و یا نیرویی رو اگر از دست دادید کسی دیگه رو جذب می کنید و خلاصه اینکه برنامه نویسش هست.
اما در دنیای php هرکسی ساز خودش رو میزنه. یکی yii و یکی cakephp , لاراول و ... و کنار هم گذاشتن اینها برای توسعه کار آسانی نیست. برخی به عنوان قدرت ازش یاد می کنن اما به عنوان ضعف هم میشه بهش نگاه کرد. این ضعف جدای از مقایسه زبان ها و ... هست.
اتفاقاً با این صحبت شما به این نتیجه رسیدم که خیلی حرفه ای دنبال PHP و کلاً برنامه نویسی نبودین. شرمنده که رک صحبت میکنم قصد جسارت ندارم. دوست عزیز، عمر کار حضوری سر اومده. الان همه جا دارن Remote کار میکنن. اگه برنامه نویسش توی شهرتون نیست میتونید از شهر یا حتی کشور دیگه برنامه نویس بگیرین. چیزی که مسلمه اینه که در دنیا برنامه نویس PHP صدها برابر NET. وجود داره و قطعاً اگه دنبالش بگردین، نیروی کاری که با فریمورک موردنظر شما بتونه کار کنه رو گیر میارین. من که دارم میگم فریمورک برای PHP زیاده، هم تجربه کاری دارم و هم همین الان کار عملی میکنم و بعنوان یک مدرس یا یک فرد بی تجربه در عرصه عملی این حرف نمیزنم. وجود فریمورکهای زیاد باعث میشه بتونید ابزار موردنیاز خودتون رو انتخاب کنید. وقتی من یک پروژه کوچک دارم که فقط امکانات MVC رو داخلش میخوام و بقیه رو میخوام خودم بسازم، چه دلیلی داره Zend Framework 2 بیام استفاده کنم؟ خوب با PHP-MVC یا Slim یا CI کارم رو راه میندازم. از کی تا حالا وجود ابزارهای مختلف و متنوع برحسب نیاز، ایراد شده؟

می خواید تنها کار کنید ؟ در صورتی می تونید اینکار و انجام بدین که واقعا سالها برنامه نویسی کار کرده باشید و مسائل front-end و یه جورایی نداشته باشید.( می تونم در این مورد بیشتر صحبت کنم اگر لازم باشه. )
برای توسعه از پایه ( یا تولید محصول ) این یکی از اشکالات php و فریم ورک هاش هست که شما در .net این مشکل رو ندارید. میگید برنامه نویس asp.net mvc می خوام و در همه جای دنیا برنامه نویسش یکیه ...
دوست عزیز، کسی که واقعاً برنامه نویس باشه، یادگیری فریمورک براش حداکثر 1 ماه تا 2 ماه کار میبره. توی NET. هم از این قبیل اداها کم نیست. Entity Framework و Web Forms و MVC و... فقط مثالهای ASP.NET هستن. تازه صحبت اصلی این نیست الان. اگه مایکروسافت فردا گفت میخوایم بجای ASP.NET MVC یک قابلیت جدید بگذاریم و قبلی رو دیگه توسعه نمیدیم میخواین چیکار کنین؟ سورسش رو دارین که خودتون باگها رو رفع کنید و به پشتیبانی این شرکت نیاز نداشته باشین؟

بایستی برخی مشکلات و توی کار تجربه کرد تا متوجه شعارها از واقعیت ها بشید. خیلی از مقایسه ها و خیلی از راهنمایی هایی که مطرح میشه اشتباهه و واقعا قابل تکیه نیست. ممکنه راه حل و مسیر شما php باشه و ممکنه دات نت , اما آنچه که اصلا اهمیت نداره اونم اینه که فیس بوک با چی نوشته شده !!! و خیلی سخت هم پیش میاد که انتخاب شما zend باشه !!! خیلی ها رو هم که می بینید در حقیقت دارند با این فریم ورک ها بازی می کنند به جای کار. یه مدتی لاراول و یه مدتی هم میره سراغ cakephp و بعد میبینه که مطلبی در مورد زند نوشته شده اونوقت اونها رو ول میکنه میره سراغ این. مدتی هم این و ... تو خود حدیث مفصل بخوان از این مجمل .
چرا اهمیت نداره دوست عزیز؟ چرا نباید واقعیتها رو دید؟ اینکه بزرگترین سایتهای دنیا با PHP نوشته شدن مهم نیست؟ اینکه از هر 5 سایت اینترنتی، 4 تاش با PHP درست شده اهمیتی نداره؟ چیزی رو ثابت نمیکنه؟ مطمئنم اونقدر درگیر PHP و فریمورکهاش نشدین یا کسانی که دارن تو این مسیر بطور حرفه ای کسب درآمد میکنن رو نشناختین که میگین دارن با فریمورکها بازی میکنن. چرا نگاهتون فقط به ایرانه؟ توی کشورهای دیگه ببینید چند پروژه Open Source داره توی GitHub و... درست میشه؟ این یک نمونه که با Yii ساخته شده: https://www.humhub.org یک سیستم مدیریت پروژه با امکان ایجاد ساب دامین شخصی برای اضافه کردن افراد و چت و کلی امکانات دیگه بین اعضای تیم که بصورت Open Source هم هست. اینا همش بازیه؟ چرا نقطه مقابلش رو نمیبینید؟ کسانی که با ASP.NET کار میکنن واقعاً تو کشور چه پروژه بزرگی باهاش تابحال انجام دادن (بجز پروژه های دولتی که علت تمایلشون به NET. رو قبلاً توضیح دادم) ؟ کدوم پروژه شخصی بزرگ و مهم دنیا با ASP.NET انجام شده؟ جالبه که بقیه رو متهم به بی اطلاعی و صحبتهای بی دلیل و مدرک میکنید.

بهزاد علی محمدزاده
یک شنبه 23 آذر 1393, 20:22 عصر
شما خودتون خدا رو شکر میفرمایید که اجرایی کار میکنید بنابراین باید تو تجربیاتتون به این نکته هم رسیده باشید که یاد گرفتن و یاد دادن سینتکس حتی یه زبان (فریمورک که سهله) در حدی نیست که بخواد وقت یه برنامه نویس که اجرایی بخواد کار کنه رو بگیره


برنامه نویس ها با فریم ورک ها و زبان ها نوعی ارتباط عاطفی برقرار می کنن , شاید این مساله کمک میکنه که یه توسعه دهنده بتونه ساعت ها کار انجام بده و تغییرات و دنبال کنه . طرف میگه من عاشق سیتنکس لاراول شدم و رفتم سراغش و این و به راحتی نمیشه برد سراغ cakephp ! اون کارایی که در لاراول داره رو در فریم ورک دیگه ایی نداره و مدام ناراحت هست که شما چرا لاراول کار نمی کنید ؟! . تاپیک مقایسه yii و لاراول و یه مروری داشته باشید. سیمفونی فقط سینتکس نیست و کسانی که این و بعنوان فریم ورک انتخاب کردن مدتها براش وقت گذاشتن و حتما دلایلی برای انتخابش داشتند و به همین راحتی ازش جدا نمیشند.



(همون طور که خودم تونستم توی 1 روز .net رو یاد بگریم و بعدش هم پروژه بنویسم)


به عنوان یه برادر کوچک , اینجوری حرف نزن , برای هیچ سطحی از برنامه نویسی این نوع حرف زدن شایسته نیست.



اتفاقاً با این صحبت شما به این نتیجه رسیدم که خیلی حرفه ای دنبال PHP و کلاً برنامه نویسی نبودین. شرمنده که رک صحبت میکنم قصد جسارت ندارم.


دشمنت,البته شما هم به همون اندازه من با دات نت آشنا هستید. اطلاعات دوستان در مورد دات نت مربوط به یک دهه پیش هست. ولی ما می بایستی وقتی صحبت از PHP و .NET میشه , به مخاطبمون بگیم:

که برای PHP فریم ورک هایی هست ,مزایا و معایبی رو که میشناسیم بگیم و اونها رو درحدی معرفی کنیم, CMS هایی هست که می تونید اونها رو توسعه بدین , همینطور فروشگاه ساز ها و فروم سازهایی و ...

در مورد دات نت هم ما توصیه نمی کنیم که شما وب فرم کار کنید با این دلایل ... و اگر دات نت و انتخاب کردید بهتره سراغ ASP.NET MVC , WebApi برید و Entity Framework رو هم می تونید بعنوان ORM انتخاب کنید و همینطور ASP.NET Identity رو برای اهراز هویت و مدیریت کاربران بکار ببرید. اما اشکالاتی که در دنیایی دات نت باهاش مواجهه هستید : تغییرات زیاد , کبود CMS برای توسعه که بایستی توانایی توسعه CMS شخصی رو داشته باشید و مسائلی از این دست.

این یه راهنمایی و یه مقایسه است که شاید منصافه است و شاید یه راهنمایی بدون غرض .اینکه ما اشاره ایی به یکی از اینها نداریم در صحبتهامون , دلیلش اینه که یا اونها رو نمیشناسیم که الان این اشکال وارد هست : اگر نمیشناسید چرا نقد می کنید ؟ و یا اینکه ما سلیقه ایی صحبت می کنیم که در اینصورت هم باز انتقاد من شاید وارد باشه.

من واقعا نمی تونم در این مورد صحبت بکنم که فلان سایت با چی نوشته شده !!!( اما به برخی از اینها روزانه سر میزنید و اشکالات برنامه نویسی و باهاش رفع می کنید. و جزو وب سایت های با ترافیک بالا هست . البته فکر کنم با bwin.com آشنا باشید ؟ این یکی از بزرگترین و پیچیده ترین هاست که از قابلیت in-memory همون sql server استفاده می کنه. آیا شما نمی دونید که پیچیده ترین نرم افزارها همونها هستند که در سازمان ها استفاده میشند و نه cms ها ؟) بعضی هاشون مساله BIG DATA و مباحثی از این دست رو دارند و این PHP نیست که اون و سرپا نگه داشته. کما اینکه در مورد فیس بوک دیگه اصلا به PHP نمونده و کاملا شخصی سازی شده.

MMSHFE
سه شنبه 16 دی 1393, 11:41 صبح
برنامه نویس ها با فریم ورک ها و زبان ها نوعی ارتباط عاطفی برقرار می کنن , شاید این مساله کمک میکنه که یه توسعه دهنده بتونه ساعت ها کار انجام بده و تغییرات و دنبال کنه . طرف میگه من عاشق سیتنکس لاراول شدم و رفتم سراغش و این و به راحتی نمیشه برد سراغ cakephp ! اون کارایی که در لاراول داره رو در فریم ورک دیگه ایی نداره و مدام ناراحت هست که شما چرا لاراول کار نمی کنید ؟! . تاپیک مقایسه yii و لاراول و یه مروری داشته باشید. سیمفونی فقط سینتکس نیست و کسانی که این و بعنوان فریم ورک انتخاب کردن مدتها براش وقت گذاشتن و حتما دلایلی برای انتخابش داشتند و به همین راحتی ازش جدا نمیشند.
اگه فرد موردنظر برنامه نویس باشه و بعنوان شغل بهش نگاه کنه، اگه ببینه موقعیت کاری برای فریمورک موردعلاقه اش نیست، یا رهاش میکنه یا خودش پروژه تعریف میکنه و انجام میده. کسی هم که تعصب بیجا داره یا فقط راحتی و علاقه خودش براش مهمه موضوع بحث ما نیست.

دشمنت,البته شما هم به همون اندازه من با دات نت آشنا هستید. اطلاعات دوستان در مورد دات نت مربوط به یک دهه پیش هست. ولی ما می بایستی وقتی صحبت از PHP و .NET میشه , به مخاطبمون بگیم:

که برای PHP فریم ورک هایی هست ,مزایا و معایبی رو که میشناسیم بگیم و اونها رو درحدی معرفی کنیم, CMS هایی هست که می تونید اونها رو توسعه بدین , همینطور فروشگاه ساز ها و فروم سازهایی و ...

در مورد دات نت هم ما توصیه نمی کنیم که شما وب فرم کار کنید با این دلایل ... و اگر دات نت و انتخاب کردید بهتره سراغ ASP.NET MVC , WebApi برید و Entity Framework رو هم می تونید بعنوان ORM انتخاب کنید و همینطور ASP.NET Identity رو برای اهراز هویت و مدیریت کاربران بکار ببرید. اما اشکالاتی که در دنیایی دات نت باهاش مواجهه هستید : تغییرات زیاد , کبود CMS برای توسعه که بایستی توانایی توسعه CMS شخصی رو داشته باشید و مسائلی از این دست.

این یه راهنمایی و یه مقایسه است که شاید منصافه است و شاید یه راهنمایی بدون غرض .اینکه ما اشاره ایی به یکی از اینها نداریم در صحبتهامون , دلیلش اینه که یا اونها رو نمیشناسیم که الان این اشکال وارد هست : اگر نمیشناسید چرا نقد می کنید ؟ و یا اینکه ما سلیقه ایی صحبت می کنیم که در اینصورت هم باز انتقاد من شاید وارد باشه.
بخش عمده صحبتهای من درمورد خود ابزارها نبود بلکه درمورد سیاست مایکروسافت بود و اگه قرار به بحث درمورد خود ابزارها باشه، مطمئناً به اندازه ای که برای بحث منصفانه کافی باشه اطلاعاتم رو همیشه بخصوص درمورد رقبای کاری خودم بروز نگه میدارم چون شاید یه زمانی لازم شد سوئیچ کنم اونطرف - چه دائم و چه برای یک پروژه خاص (روی هیچ ابزاری تعصب بیجا ندارم).

من واقعا نمی تونم در این مورد صحبت بکنم که فلان سایت با چی نوشته شده !!!( اما به برخی از اینها روزانه سر میزنید و اشکالات برنامه نویسی و باهاش رفع می کنید. و جزو وب سایت های با ترافیک بالا هست . البته فکر کنم با bwin.com آشنا باشید ؟ این یکی از بزرگترین و پیچیده ترین هاست که از قابلیت in-memory همون sql server استفاده می کنه. آیا شما نمی دونید که پیچیده ترین نرم افزارها همونها هستند که در سازمان ها استفاده میشند و نه cms ها ؟) بعضی هاشون مساله BIG DATA و مباحثی از این دست رو دارند و این PHP نیست که اون و سرپا نگه داشته. کما اینکه در مورد فیس بوک دیگه اصلا به PHP نمونده و کاملا شخصی سازی شده.
خیلی از سایتهای دنیا هم هستن که یک CMS عادی و کوچک نیستن ولی باز هم با PHP طراحی و تولید شدن. شما سورس زبان Hack فیسبوک رو دیدین که میگین کاملاً شخصی سازی شده؟ خیلی از بخشهاش همچنان همون هسته PHP هست و فقط یکسری جاهای خاص رو بهینه سازی کردن که این بهینه سازی هم همیشه به معنای رفع ایراد نبوده بلکه برای یک کار خاص مورد نیاز اونها، خود PHP قابلیتی نداشته یا روش کارش سخت بوده و اومدن زبان کاری رو راحتتر کردن. تا وقتی درمورد تفاوتهای Hack و PHP اطلاعات کافی کسب نکردین، نگین PHP رو کاملاً شخصی سازی کردن. درمورد BigData هم که کلاً ربطی به PHP نداره و زبان PHP میتونه به خیلی از DBMSهای مطرح که در این زمینه فعال هستن، وصل بشه و کار موردنظر رو انجام بده.

nsco_nsco
سه شنبه 16 دی 1393, 16:14 عصر
سلام دوستان واقعیتش نمی خواستم وارد بحث بشم چون اگر دقت کرده باشین در همین وب سایت برنامه نویس همین موضوع بارها ایجاد و بحث شده ولی چون دیدم خوبه که بگم می گم متاسفانه هنوز که هنوزه فرق بین کد نویس ، برنامه نویس و طراح را خیلی ها نمی دونند برای همین هست که متوجه خیلی از موضوعات نمیشن هرچه سطح بالاتر بره درک برنامه نویسی بالا تر میره یعنی باید به آدم در این زمینه به حد یک طراح برسه برای چی این رو می گم چون زمانی که ادم طراح میشه دیگه براش مهم نیست چ زبانی رو استفاده می کنه و مهم تر از اون اینه که به راحتی می تونه هر پروژه ای را برداره چون یک طراح زمانی زمانی طراح میشه که با چندین زبان کار کرده و در بخش هایی حتی زبان های غیر وب و طراحی تجربه داره بعد از اون دیگه براش مهم نیست چ زبانی را انتخاب کنه و کد نویسی کنه چون اون موقع زبان ها را ابزار می بینه و بسته به پروژه و امنیتش زبان مورد نظر را انتخاب می کنه و شاید در بخش هایی کمک بگیره چون زبانها دستوراتشون گسترده است اما در اصل موضوع هدفشون یک چیز هست و اون هم ساخت و اجرای یک پروژه هست اینکه کسی روی زبانی تعصب داشته باشه اشتباه می کنه چون حد یادگیری خودش را در اون حد زبانه نگه می داره و این طوری چیزی نمی تونه یاد بگیره بهترین راه شناور بودن می باشد یعنی در هر زبانی دخول کنه و سعی کنه از خوبی های اون زبان استفاده کنه مسئله ای که دوستان می گن برای زبان هایی که تجاری هست بدیشون همونه که می گن هر روز سازشون فرق می کنه که همین خیلی بده و کم کم این طور زبان ها به کناری میرن و از بین می رن الان معلوم نیست که تا چند سال اینده زبان هایی که اپن سورس نیستن اپدیت خواهند شد این خودش یک ضعف هست و یک ادمی که در این زمینه هست باید از الان فکر اون موقع را بکنه چون با کنار رفتن اون زبان خود برنامه نویس هم کنار میره پس بهتره یک جور دیگر نگاه کرد و یک طراح ادم باشه و سعی کنه با هر زبان برنامه نویسی خوبی که هست کمی ازش سر رشته داشته باشه که جایی گیر نکنه امیدوارم دوستان هم به این نکته توجه کنن و کم کم از بحث در مورد این طور چیزهایی کنار بکشن چون اخری نداره و جز وقت گیر بودن چیز دیگری ندار ه امیدوارم تمام دوستان و برادران موفق باشن . با تشکر که وقت گذاشتین و این رو خوندید موفق باشید.