View Full Version : سایت های بزرگ رو با چه زبانی نوشتن ؟
Mehdi Naderi
چهارشنبه 06 فروردین 1393, 11:55 صبح
سلام
من هدفم مقایسه زبان های ASP or PHP یا ایجاد حاشیه میان php و دات نت کارها نیست فقط میخوام بدونم که :
سایت های بزرگ مانند آمازون فیس بوک -توئیتر - یوتیوب ............ که کاربران زیادی همزمان ازش بازدید میکنند با چه زبان هایی نوشته میشه ؟
با تشکر
omid_kma
چهارشنبه 06 فروردین 1393, 17:37 عصر
سلام
من هدفم مقایسه زبان های ASP or PHP یا ایجاد حاشیه میان php و دات نت کارها نیست فقط میخوام بدونم که :
سایت های بزرگ مانند آمازون فیس بوک -توئیتر - یوتیوب ............ که کاربران زیادی همزمان ازش بازدید میکنند با چه زبان هایی نوشته میشه ؟
با تشکر
اینارو اصلا با php , .net ننوشتن که بخواد تنش ایجاد بشه !
فیسبوک از سال 2010 به بعد بوسبله یک برنامه کد هاشو تبدیل می کنه به ++C و اجرا می کنه
جالبه که بدونین طبق آماری که خودشون اعلام کردن 50% نیاز به سخت افزارشون کمتر شده
آمازون هم با ++c نوشته شده
youtube هم با python نوشته شده
twitter هم که با این زبونا
JavaScript (http://en.wikipedia.org/wiki/JavaScript),[4] (http://en.wikipedia.org/wiki/Twitter#cite_note-infoq-jvm-4) Ruby (http://en.wikipedia.org/wiki/Ruby_%28programming_language%29),[4] (http://en.wikipedia.org/wiki/Twitter#cite_note-infoq-jvm-4) Scala (http://en.wikipedia.org/wiki/Scala_%28programming_language%29),[4] (http://en.wikipedia.org/wiki/Twitter#cite_note-infoq-jvm-4) Java (http://en.wikipedia.org/wiki/Java_%28programming_language%29)[4] (http://en.wikipedia.org/wiki/Twitter#cite_note-infoq-jvm-4)[5] (http://en.wikipedia.org/wiki/Twitter#cite_note-Twitter_coding-5)
engine search گوگل هم با python , c, cpp
تنها سایت بزرگی که من دیدم با asp.net نوشته شده stackoverflow هستش
منبع
http://www.stroustrup.com/applications.html
http://www.lextrait.com/vincent/implementations.html
http://en.wikipedia.org/wiki/Twitter
http://en.wikipedia.org/wiki/Google_Search
http://blog.stackoverflow.com/2008/09/what-was-stack-overflow-built-with/
anotheruser
چهارشنبه 06 فروردین 1393, 18:17 عصر
BuiltWith Technology Lookup (http://builtwith.com/)
Mehdi Naderi
چهارشنبه 06 فروردین 1393, 21:40 عصر
فیسبوک از سال 2010 به بعد بوسبله یک برنامه کد هاشو تبدیل می کنه به ++C و اجرا می کنه
جالبه که بدونین طبق آماری که خودشون اعلام کردن 50% نیاز به سخت افزارشون کمتر شده
آمازون هم با ++c نوشته شده
مگه با C++ هم میشه برنامه نویسی وب کرد؟
youtube هم با python نوشته شده
مگه این مار پایتون اونقدر قدرتمند شده که بشه باهاش یک سایت به این شلوغی رو طراحی کرد؟
omid_kma
چهارشنبه 06 فروردین 1393, 23:36 عصر
مگه با C++ هم میشه برنامه نویسی وب کرد؟
مگه این مار پایتون اونقدر قدرتمند شده که بشه باهاش یک سایت به این شلوغی رو طراحی کرد؟
معلومه که شدنیه خود اون MYSQLو php هم با ++C,C نوشته شدن .
کتابخونه هایی مثل WT (http://www.webtoolkit.eu/wt)های هم موجوده برای ++C
دیگه قدرت پایتون رو نمی دونم توی دنیا که زیاد ازش استفاده میشه ...
eshpilen
پنج شنبه 07 فروردین 1393, 11:22 صبح
مگه با C++ هم میشه برنامه نویسی وب کرد؟
با سی هم میشه با اسمبلی هم میشه. با هر زبانی میشه!
من یک بار با سی یک برنامهء خیلی ساده واسه تست نوشتم که exit نمیکرد، یعنی دائم درحال اجرا بود، ریختم توی cgi-bin و از طریق مرورگر فراخوانیش کردم و خروجی رو دریافت کردم. بعدشم تا یک هفته این برنامه روی سرور ران بود چون هر بار با وبشلی که قاچاقی روی هاست اشتراکی نصب کرده بودم ps میگرفتم میدیدم یه چیزی به اسم a.out درحال اجراست :لبخند:
مگه این مار پایتون اونقدر قدرتمند شده که بشه باهاش یک سایت به این شلوغی رو طراحی کرد؟
بطور معمول شرکتهایی که منابع مالی و انسانی کافی دارن، نیازی ندارن خودشون رو به یک زبان محدود کنن. بخصوص اونایی که سیاست های باز دارن و با بازمتن تعامل زیادی دارن مثل گوگل و فیسبوک و اینها. یعنی من تاحالا اینطور دیدم و این استنباط من بوده.
بالاخره پایتون هم یک زبان خوب سطح بالایی هست و توی بعضی کاربردها مناسبه. بعدم با محدود شدن به یک زبان، طبیعتا انعطاف و دایرهء دسترسی به منابع کمتر میشه؛ مثلا این همه برنامه نویس که هست خب تخصص و علاقه به زبانهای متنوعی دارن. همچنین کتابخانه ها و برنامه ها و کدهای آماده بازمتن و رایگان که در زبانهای مختلف وجود دارن. من فکر میکنم این یک فاکتور مهمی باشه. مثلا از چند نفر برنامه نویس اصلی که ممکنه سهام داران اصلی یک استارتاپ/شرکت هم باشن، هرکدام ممکنه با یک زبانی کار کنن یک زبان رو ترجیح بدن و تخصص و مهارتها و نظرات متفاوتی داشته باشن. خب پس چرا باید فقط یک زبان رو انتخاب کنن و معیار قرار بدن؟ چرا هرکس نتونه با زبان مورد علاقه و تخصص خودش کار کنه؟ چرا در بخشهای مختلف با توجه به شرایط فنی و انسانی، از زبانهای متفاوت استفاده نشه؟ بخصوص که این شرکتها و برنامه نویسان زبده، براشون خیلی سخت نیست که بتونن این تنوع رو مدیریت کنن و بین تمام این زبانها سویچ کنن و ارتباط لازم رو برقرار کنن و هر استاندارد و پروتکل و ابزاری هم که برای این منظور نیاز دارن در توانشون هست که خودشون طراحی کنن و توسعه بدن (مثلا فیسبوک چنین کارهایی کرده و ابزارهایی برای این امر ساخته). باید توجه داشت که در سیستمهای بزرگ و پیچیده، اجزاء و زیرسیستم های زیادی وجود داره و الزاما به افرادی با محدودهء گسترده ای از توانایی ها و تخصص ها در حیطه ها و سطوح مختلف برنامه نویسی و غیره نیاز است، و در این سطح گسترده و متنوع هیچ نیاز نیست و شاید اصلا بهینه و عاقلانه نباشه یا عملا نشه که خودشون رو فقط به یک زبان و یک روش خاص برنامه نویسی محدود کنن. بازم تاکید میکنم که بخصوص در دنیای لینوکس و بازمتن اینطوره!
اگر شما یک برنامه نویس عادی باشید بخصوص از اونایی که فقط با ویندوز و محصولات میکروسافت یا محصولات انحصاری دیگر کار کردن و اطلاع دارن، بی اطلاعی شما از این چیزها طبیعی است. ولی اگر گسترده کار کرده باشید و پلتفرم ها و زبانهای متنوعی رو بررسی کرده باشید و بخصوص با دنیای نرم افزارهای آزاد/بازمتن و لینوکس و اینها آشنایی کافی داشته باشید، خیلی راحتتر میتونید این مسائل و تصویر کلی رو ببینید و درک کنید.
واقعا دنیای نرم افزار آزاد/بازمتن و لینوکس و اینها دنیای خوره ها و توانایی های گسترده و برنامه نویسان زبده است. و این قلمرویی است که بخصوص شرکتها و گروههایی که منابع مالی و انسانی کافی دارن بهش به دلایل انعطاف و آزادی و گستردگی فنی و به صرفه بودن برای کارهای بزرگ و پیچیده و مقیاسهای بزرگ و صرفهء اقتصادی بخصوص در میان مدت و طولانی مدت (که این شرکتها نیاز دارن چنین دیدگاهی داشته باشن)، علاقهء خاصی دارن و خوب میتونن اون رو مدیریت کنن و مورد استفادهء بهینه قرار بدن.
eshpilen
پنج شنبه 07 فروردین 1393, 11:42 صبح
فیسبوک از سال 2010 به بعد بوسبله یک برنامه کد هاشو تبدیل می کنه به ++C و اجرا می کنه
بله اسمش Hiphop (http://en.wikipedia.org/wiki/HipHop_for_PHP)است که فیسبوک اون رو بازمتن و منتشر هم کرد که در نتیجه الان بقیه هم میتونن آزادانه ازش استفاده کنن.
باهاش PHP رو تبدیل به کدهای بهینه شده سی++ میکنن که به کد اجرایی Native کامپایل بشه.
بهرحال چیزی که هست، نمیشه بگیم که پس به این دلیل، فیسبوک از سی++ استفاده میکنه و نه PHP.
اصولا چرا فیسبوک اول به PHP مینویسه و بعد تبدیل میکنه به سی++؟ خب میشه دلایلی رو تصور کرد مثل راحتی و سرعت و امنیت بیشتر کدنویسی در PHP، و شاید همچنین زیادتر بودن برنامه نویسان خوب PHP (و شاید همچنین مقرون به صرفه تر بودن دستمزد اونها!!). البته یک دلیل دیگرش هم میتونه این باشه که از اوایل بنیان کار خودشون رو بر PHP گذاشتن و مقدار زیادی برنامه و کد تشکیلات خودشون رو در این زبان تولید کردن و بعد دیدن که سویچ کردن به زبان دیگر براشون مقدور نیست یا صرفه نداره.
در هرصورت، این وسط تبدیل شدن به سی++ بیشتر یه واسطهء تقریبا خودکار برای بهینه سازی و کامپایل است تا چیز دیگر! یعنی انگار عملا یک کامپایلر برای PHP نوشتن!
در منابع تخصصی اگر خونده باشید آمده که تقسیم زبانها به اسکریپتی/تفسیری و کامپایل شونده، از نظر علمی و فنی چیز کاملا اصولی و دقیقی نیست و درواقع زبانهای اسکریپتی/تفسیری ذاتا محدودیت اساسی و مطلق در این زمینه ندارن و امکانش هست که براشون کامپایلر هم نوشته بشه. پس اینطور نیست که بگیم PHP ذاتا یک زبان اسکریپتی است و برای همیشه به روش اجرای تفسیری (اجرای غیرمستقیم توسط یک برنامهء دیگر بنام مفسر) محدود میشه.
البته حتما فیسبوک از سی++ بصورت مستقیم هم استفاده هایی کرده و میکنه (منظورم اینه برنامه نویسان سی++ مستقیما با سی++ برنامه بنویسن).
اینه که شما در دنیای بازمتن تنوع و ابتکار عمل و آزادی بیشتری میبینید. ولی اکثرا در دنیای برنامه نویسانی که انحصارا با پلتفرمهای انحصاری مثل میکروسافت کار میکنن، این اطلاع و بینش باز و گسترده و درک کامل و دقیق و عمیقی از واقعیت های دنیای امروز ما وجود نداره.
eshpilen
پنج شنبه 07 فروردین 1393, 17:23 عصر
این خارجکیها رو نگاه کنید، هرجا هرچی راه دستشون باشه استفاده میکنن. نمیگن نه فقط این زبان فقط این پلتفرم فقط فلان فقط فیسار!
حالا ما مثلا فکر میکنیم حتما دات نت و سی شارپ باید باشه یا فقط PHP.
البته همونطور که گفتم در اون کارهای بزرگ و پیچیده و واسه شرکتها و موجودیت هایی که منابع انسانی و مالی کافی دارن بیشتر این داستان هست که ترکیبی کار میکنن.
نکته دیگر اینکه، همونطور که بارها عرض کردم و بحث کردم و براش مقاله و تاپیک هم دادم، دیدگاهها درمورد بهینه سازی (پرفورمنس) اغلب اشتباهه. ملت ما فکر میکنن فقط بخاطر اینکه پرفورمنس رو یخورده بالاتر ببرن باید برنامه رو به هر بهایی بهینه کنن یا از زبانهای سریعتر استفاده کنن. درصورتیکه خارجیها تاجاییکه تاحالا متوجه شدم اینطوری کار نمیکنن. اونا فقط وقتی پرفورمنس حداکثری رو معیار انتخاب زبان قرار میدن که ضرورت داشته باشه. در بقیهء موارد اکثرا میرن از اون چیزی که از نظر برنامه نویسی راحتتر/سریعتر و با احتمال باگ کمتری کار میده استفاده میکنن. تعصبی هم روی زبان خاصی ندارن که حتما PHP باشه یا پایتون یا سی++، و اصلا میگن خب چه اشکالی داره هرجا هرچی راه دست بود استفاده میکنیم و در نهایت همه رو با هم ارتباط میدیم و ترکیب میکنیم! یعنی یک دیدگاه کاملا واقعیتگرایانه و عملگرایانه و کاربردی دارن. براشون زبان فقط یک ابزاره و زیاد هم روش وسواس ندارن که چی باشه فقط کار رو بقدر کافی خوب بشه باهاش انجام داد (درحدی که قابل استفاده باشه) براشون کافیه در قدم اول. میان با PHP مینویسن، بعدها که پروژه موفق شد و بهش تسلط و تجربه پیدا کردن و بزرگتر و پیچیده تر شد، میبینن لازمه یا خیلی مفیده و صرف میکنه، میان روی افزایش پرفورمنس اون کار میکنن، میان مبدل مینویسن که تبدیل به سی++ کنه و کامپایل بشه به کد بهینهء ماشین. اینطور نیست که از اول اینقدر مثل خیلی از برنامه نویسان ما روی بهینه سازی حداکثری وسواس به خرج بدن و افزایش های جزیی پرفورمنس از همون اول جزو اولویت های اصلیشون باشه. چون میدونن که بعدا درصورت نیاز میتونن این کار رو با دید بهتر و هزینهء مناسبی به روشهای مختلف انجام بدن و لزومی نداره از اول روش خیلی هزینه کنن و وقت و انرژی بذارن. بعکس برنامه نویسان ما مثلا میان در سطح کدهای زبان سطح بالا مثل PHP یه بهینه سازیهای جزیی رو بهش فکر میکنن و انجام میدن که گاهی برنامه نویسان سیستمی و سی و اسمبلی هم اونقدر وسواس به خرج نمیدن و روی بهینه سازی کار نمیکنن! (البته بازم برنامه نویسان حرفه ای خارجکی (دارای بینش کافی اصولی)). اصلا بهینه سازی های جزیی روی زبان سطح بالا مثل PHP با هدف و ساختار خود زبان و سطحی که برنامه نویس درش کار میکنه تناسب چندانی نداره و در نتیجه و ارزش اون اساسا تردید هست و بدون نیاز و شواهد عینی، پرداختن بهش عاقلانه نیست. بخصوص بهینه سازی های جزیی از مراحل اولیه و بدون تجربه و تسلط و دید کلی پیدا کردن و محک خوردن عملی پروژه ها، و بخصوص در پروژه هایی که اونقدر کوچک و ساده نیستن که مدیریت و باگیابی و باگزدایی کدها و منطق الگوریتم اونها راحت باشه، این امر اتلاف وقت و انرژیه در یک حداقل، و در حداکثر میتونه منجر به ایجاد باگ و هزینه های آینده و حتی در نهایت شکست پروژه بشه.
خارجیها اکثرا اول یه چیز رو عملا راه میندازن درحدی که کار کنه و قابل استفاده باشه، بعدا روی بهینه سازیش کار میکنن اونم اکثرا وقتی ضرورت پیدا کنه یا بقدر کافی در عمل سود داشته باشه.
روش تفکر و مراحل و اولویت هاشون منطق واقعگرایانه و بهینه داره.
خیلی از پروژه های موفق اونا کم و بیش از یک Prototype شروع شده. بعدا در گذر زمان و نسل های مختلفش و توسعه هایی که دیده میبینی کل ساختار و کد و حتی زبان رو عوض کردن.
ولی برنامه نویسان ما ماشالا اینقدر باهوش و توانمند هستن و به خودشون مطمئن، که از همون اول زرتی میخوان یه پروژه درحد فیسبوک و گوگل و اینها اونم به بهترین شکل و با بهینه ترین کد و ساختار و نهایت پرفورمنس و مقیاس درست کنن. خنده دارش هم این که طرف فکر میکنه این کار رو فقط با برنامه نویسی سطح بالا و بهینه سازیهای ریز و درشت و شیرین کاری در اون سطح میتونه انجام بده، درحالیکه عملا با این کار در مجموع هزینه و زمان و دردسرهای چنین پروژه هایی بیشتر میشه، چون خیلی بهینه سازیها باید توسط سیستمها و ساختارهای برونی و سطوح دیگری انجام بشن تا بتونن عمومی تر و کاراتر باشن و حجم و پیچیدگی و شکنندگی کدهای خود برنامه بیش از حد زیاد نشه.
asdasd123123
یک شنبه 31 فروردین 1393, 23:37 عصر
فیسبوک و ویکیپدیا با php
گوگل و یوتیوب با پایتون
توییتر با ruby (http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_website s)
البته بیشتر سایت های دنیا (حدود 80 درصد تا الان) از php استفاده میکنند. (http://w3techs.com)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.