কেন একটি জাভাস্ক্রিপ্ট স্ট্যান্ডার্ড ব্রাউজার ভার্চুয়াল মেশিনের চেয়ে?


167

কোনও বিশেষায়িত ভাষার ব্যবহারের চেয়ে ব্রাউজারে হোস্ট করা একটি প্রমিত ভার্চুয়াল মেশিনের সাহায্যে ভাষার একটি সেট (জাভা, পাইথন, রুবি ইত্যাদি) সমর্থন করা কী বোঝা যায় না - সত্যই, একটি বিশেষায়িত দৃষ্টান্ত - শুধুমাত্র ক্লায়েন্ট স্ক্রিপ্টিং জন্য?

পরামর্শটি স্পষ্ট করতে, একটি ওয়েব পৃষ্ঠায় জাভাস্ক্রিপ্টের মতো কোনও উচ্চ-স্তরের ভাষার পরিবর্তে বাইট কোড থাকবে।

আমি বাস্তববাদী বাস্তবতা বুঝতে পেরেছি যে বিবর্তনীয় কারণে আমাদের এখন জাভাস্ক্রিপ্ট নিয়ে কাজ করতে হবে তবে আমি দীর্ঘমেয়াদী সম্পর্কে আরও চিন্তা করছি। পশ্চাদপদ সামঞ্জস্যতার বিষয়ে, কোনও কারণ নেই যে ইনলাইন জাভাস্ক্রিপ্ট একসাথে সময়ের জন্য সমর্থন করা যায় নি এবং অবশ্যই জাভাস্ক্রিপ্ট ব্রাউজার ভার্চুয়াল মেশিন দ্বারা সমর্থিত একটি ভাষা হতে পারে।


17
আমি জানি না কেন এটি নিচে নামছে। আমি ভেবেছিলাম এটি একটি ভাল প্রশ্ন!

11
কারণ এটি একটি প্রশ্নের চেয়ে অভিযোগ বেশি।
ডাস্টম্যান

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

43
বাহ, আমি কখনই এসও সম্প্রদায়কে পুরোপুরি ব্যর্থ হতে দেখিনি। এমনকি এখানে প্রস্তাবিত ধারণাকে সম্বোধন করে এমন একমাত্র উত্তরগুলি হ'ল নীচে থেকে নীচে নেমে আসা, এবং অযথা "জেএসকে ডিফেন্ডিং" উত্তরগুলি সমস্ত প্রেম পাচ্ছে। এই প্রশ্নটি জেএসকে আক্রমণ করে না, এটি কেবল পছন্দকে সমর্থন করে। এটি কেবলই বলা হচ্ছে: "আপনি জেএস সম্পর্কে যা ভাবেন না কেন, আপনি যদি তাদের পছন্দ করেন তবে কিছু অন্যান্য ভাষাও ব্যবহার করতে সক্ষম হবেন কি না?" " তোমার সমস্যা কি?
জর্ডি

4
বেশ কয়েকটি উত্তর সরবরাহ করার পরে স্ট্যাক ওভারফ্লো এটিকে ভবিষ্যতে সম্পাদনা করার অনুমতি দেয়ায় এটি একটি বড় সমস্যা। জিজ্ঞাসিত মূল প্রশ্নটি শীর্ষ উত্তরের সাথে আরও প্রাসঙ্গিক, বাকি অংশগুলি সম্পাদনার পরে প্রশ্নের "নতুন স্পিরিট" বলে সম্বোধন করে।

উত্তর:


28

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

আমি সন্দেহ করি, সময়ের সাথে সাথে এটি ওয়েবের জন্য "মেশিন ল্যাঙ্গুয়েজ" হয়ে উঠবে, আরও উন্নততর ডিজাইন করা ভাষা এবং এপিআইগুলি এটিতে সংকলন করে (এবং বিভিন্ন রানটাইম ইঞ্জিনের জন্য উপযুক্ত) s

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


54
আই সি সি এস টিম মন্তব্যের জন্য -1। আইটি released প্রকাশিত হওয়ার সময় এটি খারাপ ছিল না, এটির মূল প্রতিযোগী ছিলেন ব্রেইগসেট টুকরো ক্র্যাপ সফ্টওয়্যার যা কখনও লেখা হয়েছিল। ব্যক্তি আক্রমণগুলি, যদিও সময় মজাদার, বিশ্বের উন্নত স্থান বানাবেন না।
এরিক্ক্যালেন

5
"... একটি ওয়েব অ্যাপ্লিকেশন স্ক্রিপ্টিং ভাষা ..." কম হিসাবে আপনার জাভাস্ক্রিপ্টের মূল্যায়নের সাথে একমত হতে পারেন না। এটির চেয়ে অনেক বেশি প্রয়োগযোগ্যতার সাথে এটি একটি দুর্দান্ত, নমনীয় ভাষা।
টিজে ক্রোডার

2
@ টিজে ক্রাউডার: আইটিওয়াইএম "আরও অসম্মতি জানাতে পারেন নি [...]?"
ক্রিস্টোফার হামারস্ট্রিম

2
পছন্দ করুন আপনি কি এই সম্পর্কে ভুল মন্তব্য করেছেন, অন্য পোস্টটি ভাবেন? এছাড়াও, @ এরিক্কাল্লেনের জন্য, আই এস সিএস টিমের মন্তব্যটি সাধারণত "রসিকতা" হিসাবে পরিচিত।
অ্যাডাম রাইট

2
এই উত্তরে কিছু "দাবি": আমাদের কাছে এখন কফিস্ক্রিপ্ট।
andref

19

আমি মনে করি জাভাস্ক্রিপ্ট একটি ভাল ভাষা, তবে ক্লায়েন্ট-সাইড ওয়েব অ্যাপ্লিকেশনগুলি বিকাশ করার সময় আমি একটি পছন্দ করতে পছন্দ করব। উত্তরাধিকারগত কারণে আমরা জাভাস্ক্রিপ্টের সাথে আটকে আছি, তবে সেই দৃশ্য পরিবর্তন করার জন্য এমন প্রকল্প এবং ধারণা রয়েছে:

  1. গুগল নেটিভ ক্লায়েন্ট : ব্রাউজারে নেটিভ কোড চালানোর জন্য প্রযুক্তি।
  2. এমস্ক্রিপ্টেন : জাভাস্ক্রিপ্টে এলএলভিএম বাইটকোড সংকলক। LLVM ভাষাগুলি ব্রাউজারে চলার অনুমতি দেয়।
  3. আইডিয়া: ব্রাউজারে নেট নেট সি এল আই, মনো এর স্রষ্টা দ্বারা: http://tirania.org/blog/archive/2010/May-03.html

আমি মনে করি আমাদের কাছে দীর্ঘ সময়ের জন্য জাভাস্ক্রিপ্ট থাকবে তবে তা তাড়াতাড়ি বা পরে পরিবর্তিত হবে। ব্রাউজারে অন্যান্য ভাষা ব্যবহার করতে ইচ্ছুক অনেক বিকাশকারী রয়েছে।


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

18

উত্তর প্রশ্ন - না, এটা জানার জন্য না।

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

আসুন এই ধারণাটি পরীক্ষা করে দেখুন যে আপনি একটি নতুন, বহুভাষার ভিএম লিখতে পারেন যা বিদ্যমান সমাধানের চেয়ে ভাল।

  • আপনি স্থিতিশীলতার পিছনে
  • আপনি জটিলতার পিছনে (পথ, উপায়, পিছনে কারণ আপনি একাধিক ভাষায় সাধারণীকরণের চেষ্টা করছেন)
  • আপনি গ্রহণ পিছনে

সুতরাং, না, এটি বোঝা যায় না।

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

কার্যকারিতা হিসাবে, আমরা সম্ভবত শুধুমাত্র সত্যই যাইহোক যাইহোক DOM এর সাথে কাজ , সুতরাং এটি সত্যিই বাক্যবিন্যাস এবং ভাষার আইডেমের একটি বিষয়, এটি এই মুহুর্তে এটি জিজ্ঞাসা করা বুদ্ধিমান হতে পারে, "এটি কি আসলেই এটির জন্য উপযুক্ত?"

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

কোন ভাষাগুলি আনার অর্থ হবে? (সতর্কতা, বিষয়গত উপাদান অনুসরণ করা হয়)

সি এর মতো একটি ভাষা আনার অর্থ হয় না কারণ এটি ধাতব সাথে কাজ করার জন্য তৈরি হয়েছে, এবং একটি ব্রাউজারে খুব বেশি ধাতব পাওয়া যায় না।

জাভার মতো কোনও ভাষা নিয়ে আসা কোনও তাত্পর্যপূর্ণ নয় কারণ এ সম্পর্কে সেরা জিনিসটি যাইহোক API হ'ল।

রুবি বা লিস্পের মতো ভাষায় আনা অর্থপূর্ণ নয় কারণ জাভাস্ক্রিপ্ট স্কিমের খুব কাছাকাছি একটি শক্তিশালী গতিশীল ভাষা।

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

এটা বোঝা যায় না।


বেশ সাবজেক্টিভ উত্তর, তবে আপনি কিছু ভাল পয়েন্ট উত্থাপন করার কারণে আমি ভোট দিতে চাইনি (এবং মূল উত্তরটি যাইহোক আলোচনার সূচনার মতো)।
জেরব্র্যান্ড

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

2
ভারীতা (এমবি)? সম্ভবত ঠিক আছে। ভারীতা (জটিলতা)? উপায় খুব ভারী। আপনার যে কোনও বহু-ভাষা ভিএম আছে, আপনার কাছে ভাষা বাস্তবায়ন শীর্ষে বসে থাকবে (উদাঃ জেআরবি / আয়রণরবি, ক্লোজার, জাইথন ​​/ আয়রন পাইথন) ইত্যাদি ither হয় জেভিএম জটিলতা খায় বা ভাষা প্রয়োগকারীরা করেন।
শুভ মরন

একাধিক ব্র্যান্ডের নতুন প্ল্যাটফর্মের জন্য একাধিক ভাষাগুলি পুনরায় প্রয়োগ করতে (IE / ফায়ারফক্স / সাফারি ...) এক বিস্ময়কর কাজ লাগবে। ভাষাও বদলে যায়। "এই পৃষ্ঠাটি কেবল একটি রুবি ১.৯ ব্রাউজারে দৃশ্যমান"? অনুগ্রহ করে না.
শুভ মরন

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

14

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

পাইথন উইন 32 এক্সটেনশানগুলি একে একে খুব সহজেই আইইতে পাইথন যুক্ত করার অনুমতি দেয়, তবে পাইথনটি স্যান্ডবক্সের পক্ষে বেশ কঠিন কারণ এটি অনেকগুলি ভাষা বৈশিষ্ট্যই যথেষ্ট বাস্তবায়ন হুককে উদ্ভাসিত করে যাতে অনুমিত-সীমাবদ্ধ অ্যাপ্লিকেশনটি ভেঙে যেতে পারে ।

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

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


12

আমি অবশ্যই ব্রাউজারগুলিতে একটি আদর্শ ভাষার স্বতন্ত্র ভিএমকে স্বাগত জানাব (আমি স্ট্যাটিকালি টাইপ করা ভাষায় কোড পছন্দ করতে চাই)।

(টেকনিক্যালি) এটি ধীরে ধীরে বেশ কার্যকর হয়: প্রথমটি একটি বড় ব্রাউজার এটি সমর্থন করে এবং বর্তমান অনুরোধটি সামঞ্জস্যপূর্ণ ব্রাউজার থেকে আসে বা সার্ভারের কোডটি জাভাস্ক্রিপ্টে অনুবাদ করে এবং সরল-পাঠ্য জাভাস্ক্রিপ্ট প্রেরণ করার সম্ভাবনা রয়েছে।

ইতিমধ্যে কিছু পরীক্ষামূলক ভাষা বিদ্যমান রয়েছে যা জাভাস্ক্রিপ্টের সাথে সংকলন করে, তবে একটি সংজ্ঞায়িত ভিএম থাকা (সম্ভবত) আরও ভাল পারফরম্যান্সের অনুমতি দেয়।

আমি স্বীকার করি যে "স্ট্যান্ডার্ড" অংশটি বেশ জটিল হবে। এছাড়াও ভাষা বৈশিষ্ট্যগুলির মধ্যে দ্বন্দ্ব (যেমন স্ট্যাটিক বনাম গতিশীল টাইপিং) গ্রন্থাগারটি সম্পর্কিত (নতুন জিনিস একই গ্রন্থাগারটি ব্যবহার করবে বলে ধরে নেওয়া) থাকবে। সুতরাং আমি মনে করি না এটি ঘটবে (শীঘ্রই)।


10

আপনার যদি মনে হয় আপনি নিজের হাত নোংরা করছেন, তবে আপনি হয় ব্রেইন ওয়াশ হয়ে গেছেন বা এখনও "ডিএইচটিএমএল বছরগুলি" প্রভাবিত করছেন। জাভাস্ক্রিপ্ট খুব শক্তিশালী, এবং এটি তার উদ্দেশ্যটির জন্য ভাল উপযুক্ত, যা ইন্টারেক্টিভিটি ক্লায়েন্টের পক্ষে স্ক্রিপ্ট করা। এই কারণেই জাভাস্ক্রিপ্ট ২.০ এরকম খারাপ রেপ পেয়েছে। আমি বলতে চাইছি, কেন প্যাকেজ, ইন্টারফেস, ক্লাস এবং অন্যান্য, যখন সেগুলি স্পষ্টতই সার্ভার-সাইড ভাষার দিক languages জাভাস্ক্রিপ্ট পুরো-অঙ্কিত বস্তুমুখী না হয়ে প্রোটোটাইপ-ভিত্তিক ভাষা হিসাবে ঠিক আছে।

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


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

2
ওওপি জাভাস্ক্রিপ্টের সহজাত নয়। আপনার কাছে প্যাকেজ, ইন্টারফেস, অ্যাবস্ট্রাক্ট ক্লাস বা কোনও পদ্ধতিতে ওভারলোডিং মূলের মধ্যে নেই, এবং আপনি কোনও বস্তু প্রসারিত করতে পারবেন না - এটি কেবল কোনও অবজেক্টের প্রোটোটাইপ, যা এটি ওও ভিত্তিক নয় প্রযুক্তিগতভাবে প্রোটোটাইপ-ভিত্তিক করে তোলে।

3
মারা গেছে ভুল। "প্রোটাইপ" হ'ল একটি নকশার প্যাটার্ন (গামা এট। আল।, পিপি 117 - 126)। আপনি যখন প্রত্যাহার করবেন ডিজাইন প্যাটার্নগুলি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের সাধারণ ডিজাইনের চারদিকে ঘোরে। এবং অন্যান্য ওওপি ভাষাগুলির মতো ভাষার বৈশিষ্ট্যগুলি না থাকার অর্থ এইটি ওওপি নয়।
ডাস্টম্যান

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

14
1. জাভাস্ক্রিপ্ট পুরোপুরি OOP is OOP ক্লাস সম্পর্কে নয়, অবজেক্ট সম্পর্কে about ২. আপনি জাভাস্ক্রিপ্টে কোনও বস্তু প্রসারিত করতে পারেন, এটি প্রোটোটাইপাল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের পুরো পয়েন্ট। ৩. আপনি প্রশ্নের উত্তর দিচ্ছেন না, প্রশ্নটি জেএসকে আক্রমণ করছে না, কেবল পছন্দ চাইছে asking আমি মনে করি জেএস একটি দুর্দান্ত ভাষা, তবে ব্রাউজারে প্রোগ্রাম করার সময় আমি অন্য পছন্দগুলি পছন্দ করতে চাই।
ম্যানুয়েল সেরন

7

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

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

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


6

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


আমি কি প্রশ্ন মিস করছি? দেখে মনে হচ্ছে ফ্ল্যাশ তার যা ইচ্ছা তাই করবে। আমরা অন্য কোন মাতৃভাষার কথা বলছি না, সে ভিএম চায়, তাই না? ভাল উত্তর.
mwilcox

6

এই পুরানো প্রশ্নের উপর দ্রুত আপডেট।

যাঁরা নিশ্চিত করেছেন যে "ওয়েব পৃষ্ঠায় জাভাস্ক্রিপ্ট" "এর মতো কোনও উচ্চ-স্তরের ভাষার পরিবর্তে বাইট কোড থাকবে" "ঘটবে না"।

জুন 2015 ডাব্লু 3 সি এটি ওয়েবঅ্যাসাব্ল্যাশনের ঘোষণা দিয়েছে

ওয়েবে সংকলনের জন্য উপযুক্ত একটি নতুন পোর্টেবল, আকার- এবং লোড-টাইম-দক্ষ বিন্যাস।

এটি এখনও পরীক্ষামূলক, তবে ফায়ারফক্সে রাতে এবং ক্রোম ক্যানারিতে ইতিমধ্যে কিছু প্রোটোটাইপাল বাস্তবায়ন রয়েছে এবং ইতিমধ্যে কিছু বিক্ষোভ কাজ করছে

বর্তমানে, ওয়েবঅ্যাস্পাবলগুলি বেশিরভাগ সি / সি ++ থেকে উত্পাদনের জন্য ডিজাইন করা হয়েছে

ওয়েবঅ্যাস্পাবলির বিবর্তন হিসাবে এটি সি / সি ++ এর চেয়ে বেশি ভাষাগুলি সমর্থন করবে এবং আমরা আশা করি যে অন্যান্য সংকলকগুলিও এটি সমর্থন করবে

আমি আপনাকে প্রকল্পের অফিসিয়াল পৃষ্ঠাটি ঘনিষ্ঠভাবে দেখতে দেই, এটি সত্যই উত্তেজনাপূর্ণ!


5

এই প্রশ্নটি নিয়মিত পুনরুত্থিত হয়। এ সম্পর্কে আমার অবস্থান:

ক) না ঘটবে এবং খ) ইতিমধ্যে এখানে রয়েছে।

ক্ষমা, কি? আমাকে ব্যাখ্যা করতে দাও:

বিজ্ঞাপন এ

একটি ভিএম কেবল সর্বজনীন যাদুকরী ডিভাইস নয়। বেশিরভাগ ভিএম একটি নির্দিষ্ট ভাষা এবং নির্দিষ্ট ভাষার বৈশিষ্ট্যগুলির জন্য অনুকূলিত হয়। জেআরই / জাভা (বা এলএলভিএম) নিন: স্ট্যাটিক টাইপিংয়ের জন্য অনুকূলিতকরণ করা হয়েছে, এবং ডায়নামিক টাইপিং বা জাভা প্রথম স্থানে সমর্থন করে না এমন অন্যান্য জিনিস বাস্তবায়নের সময় অবশ্যই সমস্যা এবং উত্সাহ রয়েছে।

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

বিজ্ঞাপন বি

ইতিমধ্যে এখানে: বাইকোড সংকলক / ভিএম নাও থাকতে পারে, তবে আপনার আসলে কোনও প্রয়োজন নেই। আফিক জাভাস্ক্রিপ্ট সম্পূর্ণ টিউরিং করছে, সুতরাং এটির কোনওটিই হওয়া উচিত:

  1. X থেকে জাভাস্ক্রিপ্ট অনুবাদ অনুবাদ (যেমন coffeescript)
  2. জাভাস্ক্রিপ্টে এমন একটি দোভাষী তৈরি করুন যা ভাষার এক্সকে ব্যাখ্যা করে (যেমন ব্রেনফাক )। হ্যাঁ, পারফরম্যান্স অস্বাভাবিক হবে তবে ওহে, সব কিছুই থাকতে পারে না।

বিজ্ঞাপন সি

কি? প্রথম স্থানে একটি বিন্দু সি ছিল না !? কারণ এখনও নেই ... গুগল এনএসিএল। যদি কেউ এটি করতে পারে তবে এটি গুগল। গুগল যত তাড়াতাড়ি এটি কাজ করে আপনার সমস্যাগুলি সমাধান হয়ে যায়। শুধু, আহ, এটি কখনও কাজ করতে পারে না, আমি জানি না। সর্বশেষে যখন আমি এটি সম্পর্কে পড়লাম তখন সত্যই কৌতুকপূর্ণ ধরণের কিছু অমীমাংসিত সুরক্ষা সমস্যা ছিল ।


সেটা থেকে পৃথক:

  • জাভাস্ক্রিপ্ট ১৯৯৫ = ১৫ বছর যাবত রয়েছে। তবুও, ব্রাউজার বাস্তবায়ন আজ পৃথক (যদিও এটি কমপক্ষে এটি অপ্রয়োজনীয় নয়)। সুতরাং, আপনি যদি এখনও নতুন কিছু শুরু করেন, আপনার কাছে 2035 এর আশেপাশে একটি সংস্করণ ওয়ার্কিং ক্রস ব্রাউজার থাকতে পারে at কমপক্ষে একটি কাজের উপসেট। যে কেবল সূক্ষ্মভাবে পৃথক। এবং সামঞ্জস্যতা libs এবং স্তর প্রয়োজন। যদিও জিনিসগুলি উন্নত করার চেষ্টা না করার কোনও অর্থ নেই।

  • এছাড়াও, পাঠযোগ্য উত্স কোড সম্পর্কে কি? আমি জানি যে প্রচুর সংস্থাগুলি তাদের কোডকে "ধরণের" ওপেন সোর্স হিসাবে না পরিবেশন করতে পছন্দ করবে। ব্যক্তিগতভাবে, আমি উত্সাহিত আমি উত্সাহটি পড়তে সক্ষম হলাম যদি আমি মৎস্যযুক্ত কিছু সন্দেহ করি বা এটি থেকে শিখতে চাই। সোর্স কোডের জন্য হুর!


4

প্রকৃতপক্ষে. সিলভারলাইট কার্যকরভাবে কেবল এটি - একটি ক্লায়েন্ট পক্ষ। নেট ভিত্তিক ভিএম।


4

আপনার যুক্তিতে কিছু ত্রুটি রয়েছে।

  1. স্ট্যান্ডার্ড ব্রাউজারে একটি স্ট্যান্ডার্ড ভার্চুয়াল মেশিন কখনও স্ট্যান্ডার্ড হবে না। আমাদের 4 টি ব্রাউজার রয়েছে এবং IE এর 'স্ট্যান্ডার্ড' সম্পর্কিত বিরোধী আগ্রহ রয়েছে। অন্য তিনটি দ্রুত বিকশিত হচ্ছে তবে নতুন প্রযুক্তির গ্রহণের হার ধীর। ফোন, ছোট ডিভাইসগুলিতে ব্রাউজারগুলি সম্পর্কে কী ...

  2. বিভিন্ন ব্রাউজারগুলিতে এবং এর অতীতের ইতিহাসে জেএসের একীকরণ আপনাকে জেএসের শক্তির নিম্ন-অনুমানের দিকে নিয়ে যায়। আপনি একটি স্ট্যান্ডার্ড প্রতিশ্রুতিবদ্ধ, কিন্তু জেএসকে অস্বীকার করুন কারণ প্রাথমিক বছরগুলিতে স্ট্যান্ডার্ড কার্যকর হয়নি।

  3. অন্যরা যেমন বলেছে, জেএস এআইআর /। নেট / ... এবং এর মতো নয়। জেএস এর বর্তমান অবতারে পুরোপুরি তার লক্ষ্যগুলি ফিট করে।

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


3

আপনি কীভাবে সেরা সংজ্ঞা দিন? ব্রাউজারের পক্ষে সেরা, না বিকাশকারীর পক্ষে সেরা? (প্লাস ECMAScript জাভাস্ক্রিপ্টের চেয়ে পৃথক, তবে এটি প্রযুক্তিগত।

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

আমি উপভোগ করা কিছু বৈশিষ্ট্য হ'ল:

  • প্রথম শ্রেণীর নাগরিক হিসাবে ফাংশন চিকিত্সা
  • যে কোনও সময় কোনও বস্তুতে ফাংশন যুক্ত করতে এবং মুছে ফেলতে সক্ষম হওয়া (বেশি কার্যকর নয় তবে যখন মনে হয় তখন এটি ফুটিয়ে তোলা)
  • এটি একটি গতিশীল ভাষা।

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

আমি সম্মত হই না যে ব্রাউজারের অসুবিধাগুলির কারণে গতিশীল পৃষ্ঠা তৈরি করার সময় হতাশাবোধ হয় তবে এটি ইউআই লাইব্রেরি দ্বারা প্রশমিত করা যায়। যা জাভাস্ক্রিপ্টের বিরুদ্ধে নিজেই অনুষ্ঠিত হওয়া উচিত নয়, জাভার বিরুদ্ধে সুইং হওয়া উচিত should


+1 - কোডটির ব্রাউজার ব্যাখ্যার সাথে ভাষার সমস্যাগুলিকে বিভ্রান্ত করতে দেয় না।
জেএল।

কেন আপনি জেএসকে ডিফেন্ড করবেন, যখন তিনি কেবল বাইটকোড পছন্দ জিজ্ঞাসা করলেন?
মিলিন্ড আর

3

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


3

এটি একটি দুর্দান্ত ধারণা। এটিকে আরও একধাপ এগিয়ে নিলে কেন?

  • HTML পার্সার এবং লেআউট ইঞ্জিন (ব্রাউজারে সমস্ত জটিল বিট, সত্যই) একই ভিএম ভাষায় লিখুন language
  • ইঞ্জিনটি ওয়েবে প্রকাশ করুন
  • কোন লেআউট ইঞ্জিনটি ব্যবহার করতে হবে এবং এর URL- এর একটি ঘোষণার সাথে পৃষ্ঠাটি পরিবেশন করুন

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


আপনি মজা করছেন কিনা তা আমি বলতে পারি না, তবে আপনার ধারণাটি আসলেই দুর্দান্ত।
মিলিন্ড আর

3

আমি জাভাস্ক্রিপ্ট ছাড়াও যে কোনও ভাষাকেই সম্ভবত স্ক্রিপ্টিং ভাষা হিসাবে স্বাগত জানাব।

যা শীতল হবে তা অন্য ভাষাগুলি জাভাস্ক্রিপ্ট ব্যবহার করা। জাভা সম্ভবত ট্যাগের মধ্যে দুর্দান্ত মানাবে না তবে হাস্কেল, ক্লোজার, স্কেলা, রুবি, গ্রোভির মতো ভাষা উপকারী হবে।

আমি কিছুক্ষণ আগে একটি ক্রস রুবস্ক্রিপ্ট এসেছি ... http://almaer.com/blog/running-ruby-in-the-browser-via-script-typetextruby এবং http://code.google.com/p/ruby- ইন-ব্রাউজার /
এখনও পরীক্ষামূলক এবং অগ্রগতিতে রয়েছে, তবে আশাব্যঞ্জক দেখাচ্ছে।
নেট এর জন্য আমি সবেমাত্র পেয়েছি: http://www.silverlight.net/learn/dynamic-languages/ সবেমাত্র সাইটটি খুঁজে পেয়েছি, তবে আকর্ষণীয়ও দেখাচ্ছে। এমনকি আমার অ্যাপল ম্যাক থেকেও কাজ করে ।

জাভাস্ক্রিপ্টের বিকল্প সরবরাহ করতে উপরের কাজটি কতটা ভাল তা জানেন না, তবে এটি প্রথম নজরে দেখতে খুব সুন্দর দেখাচ্ছে। সম্ভাব্যভাবে এটি ব্রাউজারের স্যান্ডবক্সের মধ্যে ব্রাউজার থেকে কোনও জাভা বা। নেট ফ্রেমওয়ার্ক ব্যবহার করতে দেয় allow

সুরক্ষার ক্ষেত্রে, ভাষাটি যদি জেভিএমের (বা সেই বিষয়ে নেট নেট ইঞ্জিন) অভ্যন্তরে চলে, তবে ভিএম সুরক্ষার যত্ন নেবে যাতে আমাদের সে বিষয়ে উদ্বিগ্ন হওয়ার দরকার নেই - কমপক্ষে আরও কিছু না হলে আমাদের চলমান যে কোনও কিছুর জন্য আমাদের উচিত should ব্রাউজারের ভিতরে।


2

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


2

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

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

একটি পুরানো সাইট, তবে এখনও শুরু করার জন্য দুর্দান্ত জায়গা: ডগলাস ক্রকফোর্ডের সাইট


"এইচটিএমএল ডিওএম" কেন বেদনার স্থান এটি সম্পর্কে আরও জানতে আগ্রহী হব
অ্যালেক্স মুর-নিমি

2

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

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


2

এটি http://www.visitmix.com/Labs/Gestalt/ দেখুন - - যতক্ষণ না ব্যবহারকারী সিলভারলাইট ইনস্টল করেন ততক্ষণ আপনাকে অজগর বা রুবি ব্যবহার করতে দেয়।


"যতক্ষণ না ব্যবহারকারীর সিলভারলাইট ইনস্টল থাকে" " ভাল, আমি এই এক ত্রুটি দেখতে পাচ্ছি।
অরিগামিগুই

সত্য কথা বলতে গেলে, রুবি আইডি / এম / এম / এমডি 6/7/8/9 / এফএফ / ক্রোম / সাফারি এম্বেড করার চেয়ে এটি করা সম্ভবত সহজ। হেক ক্রোমে ইতিমধ্যে ফ্ল্যাশ রয়েছে, কেন এসএল নয়!
mcintyre321

2

এটি একটি খুব ভাল প্রশ্ন।

এটি কেবল জেএসে সমস্যা নয়, কারণ এটি জেএসে বৃহত্তর প্রোগ্রামগুলি বিকাশের জন্য ভাল ফ্রি আইডিইয়ের অভাবে। আমি কেবলমাত্র একটি বিনামূল্যে জানি: গ্রহণ। অন্য ভালটি হ'ল মাইক্রোসফ্টের ভিজ্যুয়াল স্টুডিও, তবে বিনামূল্যে নয়।

এটা বিনামূল্যে হবে কেন? ওয়েব ব্রাউজার বিক্রেতারা যদি অনলাইন অ্যাপ্লিকেশনগুলির সাথে ডেস্কটপ অ্যাপ্লিকেশনগুলি প্রতিস্থাপন করতে চান (এবং তারা চান) তবে তাদের আমাদের, প্রোগ্রামারদের, ভাল দেব সরঞ্জামগুলি দিতে হবে। আপনি সরল পাঠ্য সম্পাদক, জেএসলিন্ট এবং অন্তর্নির্মিত গুগল ক্রোম ডিবাগার ব্যবহার করে জাভাস্ক্রিপ্টের 50,000 টি লাইন তৈরি করতে পারবেন না। যদি না আপনি ম্যাকোহিস্ট হন।

১৯৮7 সালে বোরল্যান্ড যখন টার্বো পাস্কেল ৪.০ এর জন্য একটি আইডিই করেছিলেন, তখন এটি প্রোগ্রামিংয়ে বিপ্লব হয়েছিল। 24 বছর কেটে গেছে। লজ্জাজনকভাবে, ২০১১ সালে অনেক প্রোগ্রামার এখনও কোড সমাপ্তি, বাক্য গঠন পরীক্ষা এবং সঠিক ডিবাগার ব্যবহার করেন না ug সম্ভবত কারণ খুব ভাল আইডিই আছে।

প্রোগ্রামাররা যদি আমাদের উইন্ডোজ, লিনাক্স, ম্যাকস, আইওএস, সিম্বিয়ান ইত্যাদির সাথে লড়াই করতে পারে এমন অ্যাপ্লিকেশন তৈরি করতে চান তবে ওয়েব ব্রাউজার বিক্রেতাদের আগ্রহের বিষয় in


ভিজ্যুয়াল স্টুডিও বিনামূল্যে, এবং আপনার কাছে বনাম কোড, অ্যাটম এবং অন্যান্য দুর্দান্ত আইডিই রয়েছে, আমি মনে করি আপনি কেবল যথেষ্ট শক্ত খুঁজছেন না
জিডনম্যাক্স

1

বাস্তবে, জাভাস্ক্রিপ্ট হ'ল একমাত্র ভাষা যা কোনও ব্রাউজার দীর্ঘকাল ব্যবহার করবে, তাই অন্য ভাষা ব্যবহার করা খুব ভাল লাগার পরেও আমি এটি ঘটতে দেখছি না।

আপনি যে "স্ট্যান্ডার্ডাইজড ভিএম" এর কথা বলবেন এটি খুব বড় হবে এবং এটি সমস্ত বড় ব্রাউজারগুলি গ্রহণ করতে হবে এবং বেশিরভাগ সাইটগুলি জাভাস্ক্রিপ্ট ব্যবহার করা চালিয়ে যাবে যেহেতু এটি অন্যান্য ব্রাউজারগুলির চেয়ে ওয়েবসাইটগুলির পক্ষে আরও উপযুক্ত।

আপনাকে এই ভিএম-তে প্রতিটি প্রোগ্রামিং ল্যাঙ্গুয়েজ স্যান্ডবক্স করতে হবে এবং সিস্টেমে প্রতিটি ভাষাতে অ্যাক্সেসের পরিমাণ হ্রাস করতে হবে, যার জন্য ভাষাগুলিতে প্রচুর পরিবর্তন প্রয়োজন এবং অনেকগুলি বৈশিষ্ট্য অপসারণ বা পুনরায় প্রয়োগ করা প্রয়োজন। যদিও জাভাস্ক্রিপ্টটির ইতিমধ্যে এটি মনে আছে এবং দীর্ঘ সময় ধরে এটি করেছে।



1

এক অর্থে জাভা বাইটকোডের মতো আরও সাধারণ কিছু পরিবর্তে ব্রাউজারে জাভাস্ক্রিপ্টের মতো আরও ভাবপূর্ণ ভাষা থাকার অর্থ আরও বেশি উন্মুক্ত ওয়েব।


0

আমি মনে করি এটি এত সহজ নয় ইস্যু নয়। আমরা বলতে পারি যে আমরা জেএসের সাথে আটকে আছি, তবে এটি কি জ্যাকুয়ারি, প্রোটোটাইপ, স্ক্রিপ্ট্যাকুলাস, মূটুলস এবং সমস্ত চমত্কার গ্রন্থাগারগুলির সাথে এত খারাপ?

মনে রাখবেন, জেএস হালকা ওজনের V8, TraceMonkey, SquirrelFish সঙ্গে, আরও বেশি, তাই - আধুনিক ব্রাউজারে ব্যবহৃত নতুন জাভাস্ক্রিপ্ট ইঞ্জিন।

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

আমি মনে করি জাভাস্ক্রিপ্টটি এইচটিএমএল এবং সিএসএসের মতো সময়ের সাথে সাথে সংশোধন ও উন্নত হতে চলেছে । প্রক্রিয়াটি দীর্ঘ হতে পারে তবে এই পৃথিবীতে সব কিছুই সম্ভব নয়।


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

0

আমি মনে করি না আপনি "বাস্তববাদী সমস্যাটি বুঝতে পেরেছেন যে জাভাস্ক্রিপ্ট কেবল আমাদের এখনই কাজ করতে হবে"। আসলে এটি খুব শক্তিশালী ভাষা। আপনার জাভা অ্যাপলেটটি বছরের পর বছর ধরে ব্রাউজারে ছিল এবং এখন এটি কোথায়?

যাইহোক, ক্লায়েন্টে কাজ করতে আপনার "নোংরা" হওয়ার দরকার নেই। উদাহরণস্বরূপ, GWT ব্যবহার করে দেখুন।


0

... তোমার মানে ...

জাভা এবং জাভা অ্যাপলেট ফ্ল্যাশ এবং অ্যাডোব আকাশ ইত্যাদি ..

সাধারণভাবে, যে কোনও আরআইএ কাঠামো আপনার প্রয়োজনীয়তা পূরণ করতে পারে; তবে প্রত্যেকের জন্য এটি ব্যবহারের জন্য মূল্য দিতে হবে (উদাহরণস্বরূপ ব্রাউজারে রানটাইম উপলভ্য বা / এবং প্রোপাইটিরি বা / এবং খাঁটি ডেস্কটপের চেয়ে কম বিকল্প) http://en.wikedia.org/wiki/List_of_rich_internet_application_frameworks

যেকোন নন-ওয়েব ল্যাঙ্গুয়েজে ওয়েব বিকাশের জন্য আপনার জিডাব্লুটিটি: জাভা বিকাশ করুন, জাভাস্ক্রিপ্টে সংকলন করুন


1
সুতরাং কোনও ভিএমকে মানিক করার পরামর্শ যাতে এটি সর্বব্যাপী হয়। "ওয়েবের জন্য মেশিনের ভাষা" হিসাবে জাভাস্ক্রিপ্ট ব্যবহার করা অবিশ্বাস্যরূপে আটকানো এবং অদক্ষ মনে হয়।
newdayrising

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

0

কারণ তাদের সবারই ইতিমধ্যে বাইটকোড দোভাষী নিয়ে ভিএম রয়েছে এবং বাইটকোডও আলাদা। {চক্র (আইই), ফায়ারফক্স (স্পাইডারমনকি), সাফারি (স্কুইরেল ফিশ), অপেরা (কারাকান)।

দুঃখিত, আমি মনে করি Chrome (V8) IA32 মেশিন কোডটি সংকলন করেছে।


0

ভাল, সমস্ত ব্রাউজার ইতিমধ্যে একটি ভিএম ব্যবহার করে বিবেচনা করে, আমি মনে করি না যে ওয়েবের জন্য কোনও ভিএম ভাষা তৈরি করা এত কঠিন হবে।
আমি মনে করি এটি কয়েকটি কারণে ব্যাপকভাবে সহায়তা করবে:
১. যেহেতু সার্ভার কোডটি সংকলন করে, প্রেরিত তথ্যের পরিমাণ কম এবং ক্লায়েন্ট কোডটি সংকলনের জন্য কোমর করে না।
২. যেহেতু সার্ভার কোড প্রস্তুত করতে কোডটি সংকলন করতে এবং এটি সঞ্চয় করতে পারে, ক্লায়েন্টের বিপরীতে যা খুব কম সময়ের সাথে জেএস সংকলন করার জন্য কোমরের চেষ্টা করে, এটি আরও ভাল কোড অপ্টিমাইজেশন করতে পারে।
৩. কোনও ভাষা বাইট কোডে সংকলন করা সহজ উপায়, তবে জেএস-তে স্থানান্তর।

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


-1

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

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

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