গুগলে পাইথনের ভারী ব্যবহার [বন্ধ]


185

পাইথনের গুগলের ভারী ব্যবহার, এটি কি স্বাদের বিষয় বা এটি তাদের একটি প্রতিযোগিতামূলক সুবিধা দেয়?


21
এটি সম্প্রদায়ের উইকি হতে হবে
অটোমেটেড

72
অ্যালেক্স মার্টেলী গৃহীত উত্তরের জন্য শীঘ্রই আসন্ন, ....
ক্রিস্টোফিড

4
আসলে আমি মনে করি এই উত্তরটির উদ্দেশ্যমূলকভাবে উত্তর দেওয়া যেতে পারে (তারা কেন এটি ব্যবহার করে গুগলের পক্ষেই কোনও বিবৃতি থাকতে হবে;))
ফেলিক্স ক্লিং

15
@ নোমোমরি, "ভারী" এখানে একটি যথাযথ বিশেষণ (অবশ্যই আপনাকে কনফার্মের জন্য আমাদের কোডবেসটি দেখতে সক্ষম হতে হবে - পাইথন বনাম জাভা বনাম সি ++ ইত্যাদি কতটুকু - তবে, আমি এটি দেখতে সক্ষম হয়েছি) , এবং এতে অবদান রাখুন, বেশিরভাগ পাইথন, বেশিরভাগ দিন ;-)। আর প্রশ্ন আইটি শিল্পের সব নয় - একটা 20,000-কর্মচারীদের কোম্পানি (অ প্রোগ্রামারদের সহ), যেখানে আমাদের কিছু ছিল এভাবে Google এ বিশেষভাবে এর ভাল "একটি সামগ্রিক দৃশ্য আছে", যে দৃশ্য গঠন এবং সে অনুযায়ী কাজ যেহেতু এটি আমাদের কাজের মূল অংশ ;-)। সুতরাং, আমি পুনরায় খুলতে ভোট দিচ্ছি।
অ্যালেক্স মার্টেলি 14

7
@ নোমোমরি, পাইথন সম্মেলনে সর্বদা আগ্রহী ওরাকল নিয়োগকারীরা তাই আমি জানতে পেরে অবাক হব যে পাইথন তাদের কোডবেজে "অস্তিত্বহীন" আছেন (যদি তাই হয় তবে এই নিয়োগকারীরা মিথ্যা কথা বলছেন, পাশাপাশি নিজের সময় এবং পাইথনিস্টাস নষ্ট করছেন ' ;-)। এবং যাইহোক, ওরাকল এবং গুগল কীভাবে সত্যিই প্রতিদ্বন্দ্বিতা করছে? -)
অ্যালেক্স মার্টেলি

উত্তর:


286

আমি আসলেই একটি সুস্পষ্ট উত্তর দিতে পারি না, কারণ ২০০৪ সালে গুগলে আমি সাক্ষাত্কার দেওয়ার সময় পর্যন্ত পাইথন গুগলে ইতিমধ্যে বিশিষ্ট ছিল।

প্রকৃতপক্ষে, একটি স্পষ্টতই আকর্ষণীয় ব্যাখ্যা রয়েছে যা আমি অবশ্যই অস্বীকার করতে পারি: এটি এমন নয় যে গুগল পাইথন ব্যবহার করে কারণ এটি এতগুলি বিশিষ্ট পাইথনিস্টকে নিয়োগ করে - বরং, বেশিরভাগ "বিশিষ্ট পাইথনিস্টা" গুগল গুগলে যোগ দিয়েছিলেন, অন্তত কিছুটা অংশ, কারণ আমরা পাইথনের খ্যাতি সম্পর্কে জানতাম knew সেখানে (সম্ভাব্য ব্যতিক্রমগুলির মধ্যে পিটার নরভিগ এবং জেরেমি হিল্টন অন্তর্ভুক্ত রয়েছে, তবে historতিহাসিকভাবে গুগলের পাইথনের পছন্দ তাদের আগেও পূর্বাভাস দিয়েছে)।

এ কারণেই আমি প্রথম আগ্রহী হয়েছি (আমার প্রকাশক আমার যে বইটি গুগল কিনেছিল তার প্রচুর পরিমাণে অনুলিপি সম্পর্কে আমাকে জানতে দেয় - প্রথমদিকে, আমি এটিকে আমার ফ্রিল্যান্স পরামর্শ পরামর্শ বিক্রয় করার একটি ভাল সুযোগ হিসাবে ভেবেছিলাম ...; - ), পরে আমি কীভাবে গাইডোকে আমাদের সাথে যোগ দিতে রাজি করিয়েছিলাম, এবং আমি বিশ্বাস করি, গ্রেগ স্টেইন, ওয়েসলি চুন, ফ্রেড্রিক লুন্ড, টমাস ওয়াউটারস, কলিন উইন্টারস, জেফরি ইয়াসকিন, ...

এগুলি সবই শুরু হয়ে গেছে, আমি বিশ্বাস করি, কারণ খুব প্রাচীনতম গুগলার্স (সের্গেই, ল্যারি, ক্রেইগ, ...) একটি ভাল ইঞ্জিনিয়ারিংয়ের সিদ্ধান্ত নিয়েছে: "পাইথন যেখানে আমরা পারি, সি ++ যেখানে আমাদের অবশ্যই করতে হবে" - তারা ব্যবহার করেছিল (একটি উপসেট) সি ++ সফ্টওয়্যার স্ট্যাকের সেই অংশগুলির জন্য যেখানে খুব কম লেটেন্সি এবং / বা মেমরির আঁটসাঁট নিয়ন্ত্রণ অত্যন্ত গুরুত্বপূর্ণ ছিল এবং পাইথন, অন্যান্য অংশগুলির জন্য প্রোগ্রামগুলি আরও দ্রুত সরবরাহ এবং রক্ষণাবেক্ষণের অনুমতি দেয়। 90'র দশকের শেষের দিকে, পরবর্তী চরিত্রটির জন্য মূল পছন্দটি পাইথন এবং পার্লের মধ্যে ছিল: অন্যান্য স্ক্রিপ্টিং ভাষাগুলি অপরিশোধিত ছিল (আমি মনে করি না রুবি এখনও কাছাকাছি ছিল, উদাহরণস্বরূপ) বা অন্যান্য সমস্যা এবং সীমাবদ্ধতা ছিল। পার্ল আরও পরিপক্ক ছিল (বিশেষত সিপিএএন এর মাধ্যমে উপলব্ধ অ্যাড-অনগুলির ইকোসিস্টেমের ক্ষেত্রে) তবে পাইথনকে আরও বেশি পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য বলে মনে করা হত এবং সি ++ লাইব্রেরিতে (এসডাব্লুআইজি এর মাধ্যমে) ইন্টারফেস করা সহজ ছিল।

জাভা পরে এসেছিল, একটি মধ্যবর্তী কুলুঙ্গিটি কভার করে - এবং খুব সম্প্রতি অবশ্যই গো বিকাশ হয়েছে (যদিও আমি বিশ্বাস করি না যে এটিতে এখনও অনেক উত্পাদন কাজ রয়েছে, কারণ এটি এখনও বিকশিত এবং পরিপক্ক)। কিছু বিশেষীকৃত ভাষা যেমন স্যাজল খুব নির্দিষ্ট কাজের জন্যও মিশ্রণে থাকে এবং অবশ্যই জাভাস্ক্রিপ্ট ব্রাউজার-পাশের কাজের জন্য খুব গুরুত্বপূর্ণ।

গ্রেগ '06-এ উল্লিখিত ভাষাগুলি সহ অন্যান্য ভাষাগুলি হয় "দুর্ঘটনাজনিত" বা অন্য নির্দিষ্ট কাজের জন্য ব্যবহৃত হয় (যেমন, আইফোন বা ম্যাকের ক্লায়েন্টদের জন্য উদ্দেশ্য সি) - যেমন গুগল যখন প্রথম সিস্টেম প্রশাসকদের নিয়োগ দিয়েছিল , এই কর্মচারীরা অনিবার্যভাবে পার্ল এবং বাশের খুব দৃ mas় দক্ষতা নিয়ে এসেছিল এবং প্রায়শই কিছু জটিল অভ্যন্তরীণ ব্যবস্থা বিকাশের জন্য এই ভাষাগুলির কোনওটিই ব্যবহার করত; পাইথনগুলিতে পুনরায় পুনঃনির্মাণ করা (সহজ স্থাপনা এবং রক্ষণাবেক্ষণের জন্য) প্রায়শই ঘটেছিল। অন্যদের (যেমন সি #) অধিগ্রহণের কারণে সাময়িকভাবে মিশ্রণে থাকতে পারে, তবে, আবার "প্রধান গুগল ভাষাগুলির" একটিতে পুনর্নির্মাণ করা সবসময়ই বেশ উচ্চ অগ্রাধিকার হিসাবে থাকে (সি # এর ক্ষেত্রে, পুনঃনির্মাণ সাধারণত জাভাতে হবে, যেহেতু দুটি ভাষা বিমূর্ততার স্তরের ক্ষেত্রে একই ক্ষেত্রকে সম্বোধন করে)।


@ অ্যালেক্স সম্ভবত আমি সঠিকভাবে বুঝতে পারি নি তবে মনে হচ্ছে গুগল তাদের প্রকৌশলীদের (বিশেষত গবেষকরা) যারা তাদের বিশ্ববিদ্যালয়ে বছরের পর বছর কাটিয়েছে এবং কেবলমাত্র সি বা সি ++ হাতে এসেছিল তাদের জন্য পরিবেশটি উন্মুক্ত চেয়েছিল (যেহেতু প্রত্যেকে এই ভাষাগুলি দিয়ে শুরু করেছে এবং বেশিরভাগই শেষ হয়েছে) এটি দিয়েও আপ)। এখানে, অজগর দৃ strong় প্রতিযোগী সি / সি ++ এর বিশাল লিবকে একটি ইন্টারফেস সরবরাহ করে।
রমিজ উদ্দিন


দারুণ অন্তর্দৃষ্টি !! সম্ভাব্য গুগলদের সহায়তা করতে পারে
কুমারী

3
লেভির দুর্দান্ত বই "ইন 'দ্য প্ল্লেক্স" পড়ার মধ্য দিয়ে আমি সংগ্রহ করেছিলাম যে পাইথন গুগলে কীভাবে প্রবেশ করেছিল (এটি গুগলের নামকরণের আগে - এটি তখন "ব্যাকরব" ছিল)। ল্যারি পেজ তখনকার ব্র্যান্ড-নতুন জাভা ১.০ বিটাতে একটি ওয়েব-স্ক্র্যাপিং "স্পাইডার" লিখেছিল এবং এটি এতটাই ভেঙে গিয়েছিল যে তার আস্তানাবাসী রুমমেট আরও স্ট্যান্ড, শক্ত এবং উত্পাদনশীল ভাষায় এটি আবার লিখতে সাহায্য করেছিল ... পাইথন। মজার বিষয় মনে করে মজার, "মাকড়সা" না থাকলে গুগল কখনও অস্তিত্ব অর্জন করতে পারে নি ...
অ্যালেক্স মার্টেলি

34

আমি পুরো নিবন্ধটি পড়িনি এবং আমি জানি না এটি কতটা প্রতিনিধি তবে সম্ভবত এটি আপনার প্রশ্নের উত্তর দেয়: গুগলে পাইথন

ঠিক আছে আমি পড়তে তার অধিকাংশই, দুর্ভাগ্যবশত তা না দেয় যে অনেক অন্তর্দৃষ্টি কিন্তু আমার মনে হয় এটা এখনও একটি আকর্ষণীয় নিবন্ধ। সম্ভবত সবচেয়ে গুরুত্বপূর্ণ:

গুগলে পাইথন সি ++ এবং জাভার পাশাপাশি 3 টি "অফিশিয়াল ভাষা" এর মধ্যে একটি। অফিসিয়াল এখানে অর্থ হ'ল গুগলারের এই ভাষাগুলি উত্পাদন পরিষেবাগুলিতে স্থাপন করার অনুমতি দেওয়া হয়। (অভ্যন্তরীণভাবে গুগল লোকেরা পিএইচপি, সি #, রুবি এবং পার্ল সহ অনেকগুলি প্রযুক্তি ব্যবহার করে)। পাইথন গুগলে ইঞ্জিনিয়ারিং প্রসেসের জন্য বেশ উপযুক্ত। গুগলে সাধারণ প্রকল্পটির একটি ছোট দল রয়েছে (3 জন) এবং একটি স্বল্প সময়কাল (3 মাস)।


ভুলে যাবেন না যে পাইথনের স্রষ্টা গাইডো ভ্যান রসুম ২০০৫-২০১২ থেকে গুগলের জন্য কাজ করেছিলেন;)


আমি এই উদ্ধৃতিটিও পেয়েছি তবে আমি এটি যাচাই করতে পারি না:

"পাইথন শুরু থেকেই গুগলের একটি গুরুত্বপূর্ণ অঙ্গ, এবং সিস্টেমটি বেড়ে ওঠার সাথে সাথে তাই রয়ে গেছে remains আজ কয়েক ডজন গুগল ইঞ্জিনিয়ার পাইথন ব্যবহার করে, এবং আমরা এই ভাষায় দক্ষতার সাথে আরও বেশি লোকের সন্ধান করছি"
- পিটার নরভিগ, গুগলে অনুসন্ধান মানের পরিচালক


সুতরাং এটি স্বাদ বা প্রতিযোগিতামূলক সুবিধার বিষয়?
আন্দ্রে সিওবানু

4
@ নোমোমরি: সম্ভবত দুজনেই? এটি ইঞ্জিনিয়ারিং প্রক্রিয়া (স্বাদ) ফিট করে এবং এর ফলে তারা যদি তাদের পণ্যগুলি আগে শেষ করতে পারে তবে তাদের একটি সুবিধা দিতে পারে।
ফেলিক্স ক্লিং

1
কয়েক ডজন ইঞ্জিনিয়ার পাইথন ব্যবহার করেন? গুগলের মতো বৃহত একটি সংস্থার পক্ষে, এটি খুব কমই বাধ্যতামূলক ঘটনা।
জেসন বেকার

28

আমি আনলাডেন-গেলা সম্পর্কে পড়ছিলাম , সিপিথনের কর্মক্ষমতা উন্নত করার উদ্দেশ্যে একটি প্রকল্প s তাদের আলোচনা বোর্ডের মাধ্যমে ব্রাউজ করার সময় আমি এই আলোচনায় হোঁচট খেয়েছি, যেখানে কোলিন শীতকালীন (গুগলের কর্মচারী এবং পাইথন কোর বিকাশকারী) এই দাবিতে উত্তর দিয়েছে যে গুগল কর্মীরা নতুন প্রকল্পের জন্য পাইথন ব্যবহার থেকে নিরুৎসাহিত করা হচ্ছে :

ঠিক আছে, সাধারণ জ্ঞান গুগলের স্কেল পরিচালিত করার সময় পাইথনের প্রয়োগযোগ্যতা সীমাবদ্ধ করতে চলেছে: এটি জাভা বা সি ++ এর মত তত দ্রুত নয়, থ্রেডিং স্তন্যপান হয়, মেমরির ব্যবহার বেশি হয় ইত্যাদি any কোনও নতুন সিস্টেম ডিজাইন করার সময় আমাদের যে নকশার প্রতিবন্ধকতার মুখোমুখি তা হ'ল, "ভার যখন 10x বা 100x বাড়িয়ে দেয় তখন কী ঘটে? পুরো গ্রহটি যদি আপনার নতুন পরিষেবাটিকে দুর্দান্ত মনে করে তবে কি হবে?" যে কোনও প্রযুক্তি যা এই সীমাবদ্ধতাটিকে তৃপ্ত করে তোলে - এবং আমি মনে করি পাইথন এই বিভাগে পড়ে - উচিতঅন্যান্য যোগ্যতার পক্ষে এটির পক্ষে খুব শক্ত মামলা না হলে নিরুৎসাহিত হন। পাইথনের শক্তিগুলি দুর্বলতার সাথে আপনার ভারসাম্য বজায় রাখতে হবে: পাইথন ব্যবহার করে আপনার প্রকৌশলীরা আরও উত্পাদনশীল হতে পারেন, তবে ভলিউম বাড়ার সাথে যদি তাদের আরও প্ল্যাটফর্ম-স্তরের পারফরম্যান্স / স্কেলিং সীমাবদ্ধতার আশপাশে কাজ করতে হয়, আপনি কি এগিয়ে আসবেন? প্রভৃতি


20

আপনি যদি পল গ্রাহাম এর সাবস্ক্রাইব করেন ধারণাকে যে সংক্ষিপ্ততা == শক্তি (উদাহরণস্বরূপ, আপনি যদি ভাষা ওয়াইয়ের 100 টি লাইন নিয়েছিলেন তা সম্পাদনের জন্য আমি যদি 10 টি লাইন ভাষায় কোড লিখতে পারি তবে আমার ভাষা আরও শক্তিশালী)

আজকাল হার্ডওয়্যার সস্তা, মাংসের জিনিস ব্যয়বহুল । আমি জানি যে আমি অন্যান্য ভাষার চেয়ে পাইথনে আরও অনেক বেশি, দ্রুত, আরও ভাল এবং পরিষ্কার লিখতে পারি, কেবল কারণ ব্যাটারি অন্তর্ভুক্ত থাকে। অবশ্যই, এটি ধীর হতে পারে তবে আপনি কি .05 সেকেন্ড এবং .0005 সেকেন্ডের মধ্যে পার্থক্যটি লক্ষ্য করতে পারবেন?

আরও প্রকৃত বিশ্বের উদাহরণে, যদি গুগল বিকাশকারীরা পাইথনে এমন কোনও প্রোগ্রাম লিখেন যেখানে তাদের কখনই আবর্জনা সংগ্রহের বিষয়ে চিন্তা করতে হবে না এবং সংস্থা এক্স সি ++ তে একটি প্রোগ্রাম লিখে এবং তারা তাদের 10% সময় মেমরি বরাদ্দ সম্পর্কিত সম্পর্কিত বাগগুলি অনুসন্ধান করতে ব্যয় করে, কারা দ্রুত কাজ করেছে তা অনুমান করুন - এমনকি যদি সি ++ শপ তাদের বাকী কোডটি ঠিক তত দ্রুত লিখে রাখে।

তাই হ্যাঁ, আমি বলব এটি পাইথনের কোডে প্রতিযোগিতামূলক সুবিধা।


2
অভিশপ্ত সাইটটি নতুন করে ডিজাইন! ঠিক আছে, সে একটি বিকল্প লিঙ্ক পেয়েছে, তাই আছে।
ওয়েইন ওয়ার্নার

11
'আপনি কি সত্যিই .5 সেকেন্ড এবং .005 সেকেন্ডের মধ্যে পার্থক্যটি লক্ষ্য করতে চলেছেন?' আপনি গুগল কোর অনুসন্ধান, ইউটিউব বা জিমেইলে কাজ করেন না, তাই না?
jwg

5
আপনার যখন গুগলের মতো প্রয়োজন তখন হার্ডওয়্যারটি সস্তা নয়।
এনজিআরডস

5
পাইথন সম্পর্কে দুর্দান্ত বিষয়টি হল, যখন আপনার মধ্যে পারফরম্যান্সের একটি উল্লেখযোগ্য পার্থক্য থাকে (যেমন eg 495ms), আপনি কিছু সি / সি ++ কোড প্লাগ করতে পারেন। পাইথন আপনাকে দ্রুত বিকাশ এবং দক্ষতার সাথে অনুকূলকরণ করতে দেয়।
ট্রেভর

3
.5 সেকেন্ড এবং .005 সেকেন্ডের মধ্যে পার্থক্য হ'ল এটি একটি লক্ষণীয় এবং অন্যটি নয়।
চার্লি শ্লিয়েসার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.