গুগলে প্রোগ্রামিং ভাষার ব্যবহার [বন্ধ]


29

শুনেছি গুগল পাইথন, জাভা এবং সি ++ ব্যবহার করে। তবে আমি যা জানি না তা হ'ল এই প্রোগ্রামিংয়ের প্রতিটি ভাষা কীভাবে ব্যবহৃত হয়। মানে পাইথন, জাভা এবং সি ++ কী তা গুগলে ব্যবহৃত হয়। 1 টি ভাষা পর্যাপ্ত হলে তারা 3 টি পর্যন্ত প্রোগ্রামিং ভাষা কেন ব্যবহার করবে। কেউ কি জানেন?


16
এছাড়াও, আপনি গো ভুলে গেছেন।
cbrandolino

22
যদি একটি ভাষা যথেষ্ট হয় তবে কেন পাইথন, সি ++ বা জাভা মোটেই রয়েছে? আমাদের সিস্টেমগুলি যে প্রসেসরটি চালাচ্ছে তার জন্য আমরা সকলেই সমাবেশের ভাষা ব্যবহার করতে পারি।
লাজার

একটি ভাষা বলা যথেষ্ট, যেমন এক ধরণের কাঠ বলা যথেষ্ট, আপনি কি এমন কোনও ছুতারকে সম্মান করবেন যিনি কেবল পাইনেই কাজ করেছিলেন, তবে কখনও ম্যাপেল বা ওক ছিলেন না?
জাচারি কে

এছাড়াও, আপনি সাওজাল labs.google.com/papers/sawzall.html
চিরন

1
তারা জাভা এই চেক ব্যবহার reddit.com/r/google/comments/3sdx3b/...
Elshan

উত্তর:


97

সঠিক উত্তর " কারণ বিভিন্ন ভাষায় বিভিন্ন শক্তি রয়েছে " ইতিমধ্যে বলা হয়েছে। তবে আমাকে কেন আরও কিছু বিশদ সরবরাহ করতে দিন:

সি ++

লটের দ্রুততম হওয়ার মূল সুবিধা সি ++ এর রয়েছে। প্রয়োজনীয় কারন জাভা এবং পাইথন ধীর, কিন্তু C ++ আপনি কারণ আরও নিয়ন্ত্রণ সম্পর্কে কিভাবে জিনিষ মৃত্যুদন্ড কার্যকর করা হয়।

উদাহরণস্বরূপ, আপনি যদি এমন কোনও ওয়েব সার্ভিস ফ্রন্ট্যান্ড লিখে থাকেন যা 30 মাইলেরও কম বিলম্বের প্রয়োজন হয় তবে আপনি সেই কার্য সম্পাদন করতে সি ++ কোড টিউন করতে পারেন। জাভার মতো পরিচালিত ভাষায় জিসিকে পুরোপুরি সহযোগিতা করা কিছুটা শক্ত।

সি ++ অনেকগুলি 'গুগল যাদু' যেমন বিগ টেবিল, ম্যাপ্রেডিউস এবং অনুসন্ধান গু এর জন্য ব্যবহৃত হয়।

জাভা

বেশিরভাগ স্ট্যান্ডার্ড অ্যাপ্লিকেশনগুলির জন্য, জাভা পুরোপুরি সূক্ষ্ম ভাষা। এটিতে দুর্দান্ত সরঞ্জামাদি, প্রচুর বিদ্যমান গ্রন্থাগার রয়েছে এবং ডিবাগিংয়ে খুব বেশি সময় ব্যয় করা হয়নি।

জাভা অনেক বড় ওয়েবসাইটের জন্য ব্যবহৃত হয় যা সি বা সি ++ এর মতো নিম্ন স্তরের ভাষায় বজায় রাখা আরও অনেক বেশি কঠিন। উদাহরণস্বরূপ, আমার বোধগম্যতা হ'ল GMail জাভাতে লেখা।

এছাড়াও, নোট করুন যে আপনি জাভাস্ক্রিপ্টে জাভা কোডটি সংকলন করতে গুগলের ওয়েব টুলকিট ব্যবহার করতে পারেন। সুতরাং যে দুর্দান্ত ওয়েবপৃষ্ঠা বা উইজেটটি আপনি দেখতে পেয়েছেন তা সম্ভবত জাভা বর্গ হিসাবে শুরু হয়েছিল।

পাইথন

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

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

জাভাস্ক্রিপ্ট

স্পষ্টতই গুগল প্রচুর জাভাস্ক্রিপ্ট ব্যবহার করে। তবে গুগলে রচিত জাভাস্ক্রিপ্টের ধরণটি আপনি বন্য যা দেখছেন তার চেয়ে আলাদা। গুগল একটি অপ্টিমাইজিং জাভাস্ক্রিপ্ট সংকলক তৈরি করেছে যা আপনাকে আরও অনুকূলকরণ ও স্থির চেকের বিনিময়ে মন্তব্যে টীকাগুলি তৈরি করতে দেয়। গুগল বন্ধ দেখুন ।

ভাষা ম্যাচ করে না (ইন্টারওপ)

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

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

মুক্ত উৎস

এছাড়াও, গুগল যেখানে সম্ভব সেখানে প্রচুর ওপেন সোর্স ব্যবহার করে এবং অবদান রাখে। এই প্রকল্পগুলি সাধারণত উপরের যে কোনও একটি ভাষায় লেখা হয় এবং এটি Google এ 'ব্যবহার' করা প্রয়োজন।

নীচের লাইনটি দুটি জিনিস:

  • প্রতিটি প্রোগ্রামিং ভাষার নিজস্ব শক্তি রয়েছে। পরিস্থিতিগতভাবে এই শক্তির সুবিধা গ্রহণ না করা লজ্জাজনক হবে।
  • ইন্টারোপ টুলকিট এবং কম্প্যাটিবাইল রানটাইমগুলির উপলব্ধতার অর্থ একই রানটাইম পরিবেশে একাধিক ভাষা ব্যবহার করা কম বেদনাদায়ক।

আপনার ব্যাখ্যা থেকে এর অর্থ কি GMail GWT ব্যবহার করে?
জোশুয়া পার্টোগি 21'11

1
গুগল বর্তমানে ওয়েব অ্যাপ্লিকেশনগুলির জন্য পাইথন ব্যবহার করছে।
রাফেল

বিশিষ্ট গুগলার অ্যালেক্স মার্টেলি ব্যাখ্যা করেছেন "পাইথন যেখানে আমরা পারি, সি ++ যেখানে আমাদের অবশ্যই করতে হবে"
পিটার এম - মনিকা

17
1 language is enough

বিভিন্ন ভাষা বিভিন্ন পর্যায়ে পর্যাপ্ত পরিমাণে সম্পূর্ণ করার জন্য একটি ভাষাই যথেষ্ট তবে বিভিন্ন ভাষায় বিভিন্ন শক্তি, দুর্বলতা এবং ক্ষমতা রয়েছে।

যেহেতু গুগল সম্ভবত প্রচুর সংখ্যক বিভিন্ন পরিস্থিতিতে প্রোগ্রাম করে থাকে এটি কোর্সের জন্য ঘোড়ার ঘটনা, কাজের সেরা সরঞ্জাম।


4
+1, কাজের সেরা সরঞ্জামটি ব্যবহার করে। আমি বর্তমানে একটি একক ডেস্কটপ অ্যাপ্লিকেশন নিয়ে কাজ করছি যা 3 টি প্রোগ্রামিং ভাষা (প্লাস বিভিন্ন মার্কআপ এবং ডাটাবেস ভাষা) ব্যবহার করে। সহজ কাস্টমাইজেশনের জন্য সি ++, জাভা সহ প্রধান অ্যাপ্লিকেশন এবং কিছু জাইথনের সাথে ধাতব স্টাফগুলির কাছাকাছি। আইএমও :-)
সেরাটি গ্রহণ করা আমাদের বোধগম্য


9

এই তিনটি ভাষা বিভিন্ন উদ্দেশ্যে ব্যবহৃত হয়।

পাইথন অটোমেশন স্ক্রিপ্ট লেখার জন্য ব্যবহৃত হতে পারে।
জটিল অ্যালগরিদমগুলি বাস্তবায়নের জন্য সি ++ services
ওয়েব পরিষেবা, ওয়েব অ্যাপ্লিকেশন ইত্যাদির জন্য জাভা (সূচক, ক্রলার, মানচিত্র-হ্রাস, বড় টেবিল) Java

এগুলি কেবল আমার অনুমান।


আমি পাইথনে জটিল অ্যালগরিদমগুলি - অত্যন্ত পারফরম্যান্স-সমালোচিত নয় - প্রয়োগ করতাম।

3

পাইথন তাদের সমর্থন ওয়েবসাইটের জন্য ব্যবহৃত হয়, আপনি দেখতে পাচ্ছেন যে এই পৃষ্ঠাটি একটি অজগর স্ক্রিপ্ট দ্বারা উত্পাদিত হয়েছে, তারা ওয়েব অ্যাপ্লিকেশনগুলির জন্য জাভা লাইব্রেরি ব্যবহার করে, তাই অ্যাপ্লিকেশন ইঞ্জিনে জিডব্লিউটি এবং জাভা সমর্থন করে

আমি মনে করি তারা গুগল আর্থ বা সাধারণভাবে ডেস্কটপ অ্যাপ্লিকেশনগুলির জন্য সি ++ ব্যবহার করে


2

"1 টি ভাষা যথেষ্ট" কেবলমাত্র তখনই সত্য হতে পারে যদি আপনার করা প্রতিটি প্রকল্প নির্দিষ্ট ধরণের হয়। এবং কিছু প্রকল্পের জন্য, এমনকি সি ++ জাভা এবং পাইথন সেরা সরঞ্জাম নয়। তদুপরি, শুধুমাত্র একটি ভাষা জানা দুর্বল প্রোগ্রামারটির একটি স্বতন্ত্র বৈশিষ্ট্য।


0

তারা নেটিভ ম্যাক এবং আইফোন অ্যাপ্লিকেশনগুলিও লেখেন এবং সেগুলি উদ্দেশ্য-সি-তে রয়েছে। তারা এগুলি করার কারণটি সহজ: এপিআইগুলি উদ্দেশ্যমূলক-সিতে রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.