HeadlinesBriefing favicon HeadlinesBriefing.com

বিরক্তিকর ব্যক্তি ভাষা সার্ভার চেষ্টা করেন

Hacker News •
×

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

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

একটি ফলাফল হল যে Lisp প্রকল্পের শুরুতে, কোনো সোর্স কোড নাও থাকতে পারে; বিবর্তিত সংজ্ঞা শুধুমাত্র মেমরি ইমেজে বিদ্যমান। এটি রিলেশনাল ডেটাবেসের সাথে শুরুতে লোকেরা যেভাবে আচরণ করে তার মতো—স্কিমা শুধুমাত্র চলমান ডেটাবেসে বিদ্যমান। শেষ পর্যন্ত, এটি সংস্করণ নিয়ন্ত্রণের অধীনে একটি ফাইলে ডাম্প করা হয়।

আমি Lisp ডেভেলপার নই, তাই আমি ঈর্ষান্বিত থাকব। কিন্তু আমি বুঝতে পেরেছি যে আমি কাছে যাওয়ার চেষ্টা করিনি। Haskell-এ, আংশিক সাফল্য আছে: টাইপ সিস্টেম এক্সেপশন কমায়, এবং Emacs-এর Eglot-এর সাথে Haskell ভাষা সার্ভার (hls) ভালো আত্মপরিদর্শন দেয়। ghcid পরিবর্তনগুলি পর্যবেক্ষণ করে এবং দ্রুত পুনরায় কম্পাইল করে।