টাইপস্ক্রিপ্টের পিছনে অনুপ্রেরণা কী?


21

আমাদের কাছে জাভাস্ক্রিপ্ট ছিল, তারপরে আমাদের কাছে ফ্ল্যাশ ছিল, তারপরে আমাদের কাছে সিলভারলাইট এবং তারপরে এইচটিএমএল 5 রয়েছে

সুতরাং টাইপস্ক্রিপ্ট পিছনে অনুপ্রেরণা কি? কোন সমস্যাগুলি মোকাবেলা করতে চলেছে এবং টাইপস্ক্রিপ্টের মাধ্যমে আমরা কী উন্নতি করব?

http://www.typescriptlang.org/


15
আপনি কী ভাবেন যে এইচটিএমএল 5 জাভাস্ক্রিপ্টের "owর্ধ্ব"?
বেরগি

1
এই অর্থে যে সাধারণ ভিত্তি => প্রযুক্তি ও বিকাশ স্থগিতের জন্য প্রত্যেককে কিছু কিছু বিষয়ে সম্মতি জানাতে হয়েছিল।
জিরো

3
কেন আপনি ডার্ট উল্লেখ করেছেন?
রবার্ট হার্ভে

ডার্ট, টাইপস্ক্রিপ্ট বা কফিসক্রিপ্ট জাভাস্ক্রিপ্টে সংকলন করা যায়। এবং ডার্টও বেশ নতুন।
জিরো 11

নিকোলাস সি জাকাস রচিত "টাইপস্ক্রিপ্টের উপর চিন্তাভাবনা" এই নিবন্ধটি একবার দেখুন: nczonline.net/blog/2012/10/04/
যদিও

উত্তর:


35

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

সুবিধাগুলি যে কেউ স্ট্যাটিকালি টাইপযুক্ত, শ্রেণিভিত্তিক ভাষা এবং জাভাস্ক্রিপ্ট উভয় ক্ষেত্রেই বিকাশিত হওয়া উচিত:

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

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


7
এটি জাভা স্ক্রিপ্টের সুপারসেটের মতো এটি কোনও নতুন ভাষার সংকলন করে থাকে than
ড্যানিয়েল লিটল

2
হ্যাঁ, জোরালোভাবে টাইপ করা প্রোগ্রামারগুলিকে সহজ করে দেয়।
এডউইন ইপ

13
টাইপস্ক্রিপ্ট স্থিতিশীলভাবে টাইপ করা হয়, জোরালোভাবে টাইপ করা হয় না।
ফেন্টন

15

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

তারপরে একটি আসল টাইপ সিস্টেম রয়েছে , পাঠযোগ্যতার উন্নতি এবং সঠিক ধরণের প্রয়োগ করা। সর্বোপরি, এটি উন্নয়নের গতি বাড়ায়।

আমার জন্য, দুর্দান্ত জিনিসগুলির মধ্যে একটি হ'ল সমর্থনকে সমর্থন করা । এটি সম্ভবত টাইপ সিস্টেমের একটি পার্শ্ব প্রতিক্রিয়া, তবে তবুও দুর্দান্ত। এবং সত্যই প্রয়োজনীয়, যেহেতু বর্তমান জাভাস্ক্রিপ্ট টুলিং-সমর্থন দরকারী beyond

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

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

তবে সর্বোপরি, এটি এখনও কেবল জাভাস্ক্রিপ্ট । নতুন ভাষা, বা সিনট্যাক্স শেখার দরকার নেই। এটি কেবল যুক্ত করে, হ'ল typeচ্ছিক টাইপ সিস্টেম (যা দুর্দান্ত এবং বিলম্বিত)।

তারপরে "সংজ্ঞাগুলি গ্রন্থাগার" রয়েছে যার অর্থ আমি আমার সমস্ত জাভাস্ক্রিপ্ট লিবগুলি পুনর্লিখন না করে বা সেগুলি প্যাচ না করেই ব্যবহার করতে পারি। তবে আমার কাছে এখন অতিরিক্ত টাইপ সিস্টেম রয়েছে।

আমি অবশ্যই চেষ্টা করে দেখব!

একটি শেষ কথা, এইচটিএমএল 5 এবং টাইপস্ক্রিপ্টের মধ্যে কোনও প্রতিযোগিতা নেই। তবে এটি অন্য গল্প।


5

আমাদের কাছে জাভাস্ক্রিপ্ট ছিল, তারপরে আমাদের কাছে ফ্ল্যাশ ছিল, তারপরে আমাদের কাছে সিলভারলাইট এবং তারপরে এইচটিএমএল 5 রয়েছে

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

সুতরাং টাইপস্ক্রিপ্ট পিছনে অনুপ্রেরণা কি?

অনুপ্রেরণাগুলি এটি ব্যবহার করার কারণে চালিত হতে পারে। টাইপস্ক্রিপ্টের সমস্ত বৈশিষ্ট্য যেমন: স্ট্যাটিক চেকিং, প্রতীক ভিত্তিক নেভিগেশন, বিবৃতি সমাপ্তি এবং কোড রিফ্যাক্টরিং এটি বিবেচনা করার খুব দৃ strong় কারণ।

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


এইচটিএমএল 5 হার্ডওয়্যার ত্বরণের প্রাক-রিক নয়। বেশিরভাগ ব্রাউজারগুলি এইচটিএমএল 5 মার্কআপ বা ছাড়াই এটি করছে
নীল এন

আমার বক্তব্যটি নির্দেশ করে যে হার্ডওয়্যার ত্বরণ এমন একটি বৈশিষ্ট্য যা ব্রাউজারটি এইচটিএমএল 5 সরবরাহ করে না।
ইউসুভভ

3

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

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

এই পদ্ধতির নতুন নয়। এর "স্ট্যাটিক টাইপিং" বিভাগে যান

এই নিবন্ধটি আপনার ক্যোয়ারিকে সম্বোধন করবে- http://www.eweek.com/developer/microsoft-delivers-typescript-a-better-javascript-for-big-apps/


0

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

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

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


5
প্রথমত এটি মালিকানাধীন নয়, এটি ইতিমধ্যে একটি মুক্ত মান। দ্বিতীয়ত এটি জিডব্লিউটি / স্ক্রিপ্টশার্পের তুলনায় ডার্টের মতো (যদিও একই রকম)।
ড্যানিয়েল লিটল

1
এটিতে সম্ভবত জয়ের উপায় নেই - মাইক্রোসফ্ট যদি এটি নিয়ন্ত্রণ না করে তবে এটি প্রচুর বৈকল্পিক সহ অন্য জারজ ভাষা হয়ে উঠবে এবং এটি এখনও জাভাস্ক্রিপ্ট এবং ডিওএম

1
আপনি এমন কারোর মতো শোনেন যাঁর বর্তমানের এইচটিএমএল 5 / জেএস স্ট্যাকের দ্বারা তাদের ফ্ল্যাশ এবং / বা জাভা দক্ষতার তুলনায় যথেষ্ট কম প্রাসঙ্গিক হয়ে উঠতে পারে।
গ্রাহাম

3
-1 সুতরাং আপনি জাভাস্ক্রিপ্ট পছন্দ করবেন না। এটা আপনার বক্তব্য, মূলত।
ব্রুনো শ্পিপার

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