বিভিন্ন পদ্ধতি এবং ধারণা বুঝতে শেখার জন্য গুরুত্বপূর্ণ ভাষাগুলি কী কী? [বন্ধ]


172

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

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

ভাষাগুলি কী কী আলাদা পদ্ধতি গ্রহণ করে এবং ব্যবহারিক সরঞ্জাম বাছাই বা তাত্ত্বিক বোঝার জন্য দরকারী?

আমি অন্য কার্যকরী ভাষা (হাস্কেল) বা অন্য একটি অপরিহার্য ওওপি ভাষা (রুবি) শেখার মতো বোধ করি না, বা ব্রেইনফাকের মতো অবৈধ মজার ভাষা অনুশীলন করতে চাই না।

একটি খুব আকর্ষণীয় জিনিস যা আমি নিজের কাছে পেয়েছি তা হ'ল ফ্যাক্টরের মতো মনোকোনিক স্ট্যাক ভিত্তিক ভাষা।

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


3
আমি একা xkcd রেফারেন্সের জন্য +1 করতাম, তবে প্রশ্নটিও আকর্ষণীয়।

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

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

5
আপনি প্রোগ্রামার্স.এসই দেখেছেন ? এটি আরও ভালভাবে জিজ্ঞাসা করা প্রশ্নের ধরণে পড়ে।

উত্তর:


287

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

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

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

অ্যারে, জে - আমি কেবল জে আবিষ্কার করেছি, তবে আমি এটি একটি অত্যাশ্চর্য ভাষা বলে মনে করি। এটি আপনার মনকে একটি প্রিটজেলের দিকে মোড় নেবে। আপনি তার জন্য জে ধন্যবাদ জানাতে হবে।

স্ট্যাক, ফ্যাক্টর / ফোর্থ - ফ্যাক্টরটি খুব শক্তিশালী এবং আমি এটি ASAP এ খনন করার পরিকল্পনা করি। চতুর্থটি হ'ল স্ট্যাক ভাষাগুলির গ্র্যান্ড-বাবা এবং যুক্ত বোনাস হিসাবে নিজেকে বাস্তবায়ন করা সহজ । বাস্তবায়নের মাধ্যমে শেখার বিষয়ে কিছু বলার আছে।

ডেটাফ্লো, ওজ - আমি মনে করি ওজ এর প্রভাব উত্সাহের উপর রয়েছে এবং এটি কেবল ভবিষ্যতে বাড়তে থাকবে।

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

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

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

কার্যকরী + ptionচ্ছিক প্রকার, কিউ - আপনি বলেন যে আপনি কিছু টাইপ সিস্টেমের সাথে অভিজ্ঞতা অর্জন করেছেন, তবে "স্কিনেবল * টাইপ সিস্টেমগুলির সাথে আপনার কি অভিজ্ঞতা আছে? কারও কাছে নেই ... তবে তাদের হওয়া উচিত। কিউই বিভিন্ন উপায়ে লিস্পের মতো তবে এটির টাইপ সিস্টেম আপনার মন ঘা হবে।

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

উপভোগ করুন!


8
+1 - একটি দুর্দান্ত উত্তর।
duffymo

2
শেখার জন্য অনেক ভাষায় আমাকে ইশারা করার জন্য আপনাকে ধন্যবাদ।

2
আমি অভিনেতা ভিত্তিক প্রোগ্রামিংয়ের জন্য এরলং এবং সমান্তরাল প্রোগ্রামিং স্টাফের জন্য দুর্গ যুক্ত করব।
নিকিক

2
এরলংয়ের হট অদলবদল এবং ত্রুটি সহিষ্ণুতা স্বীকৃতির জন্য +1
মাইক

14
সমাবেশ নেই? প্রসেসররা কী ধরণের কোড পছন্দ করেন তা শিখতে কীভাবে কাজ করে তা বোঝা ভাল।
নিক টি

33

প্রোলোগ (একীকরণ / ব্যাকট্র্যাকিং ইত্যাদির জন্য), স্মলটালক ("সমস্ত কিছুর বার্তা" এর জন্য), ফোরথ (বিপরীত পোলিশ, থ্রেডযুক্ত দোভাষী ইত্যাদি), প্রকল্প (ধারাবাহিকতা) কী?

কোনও ভাষা নয়, আর্ট অফ মেটাওবজেক্ট প্রোটোকলটি মাইন্ড- বেন্ডিংয়ের জিনিস


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

1
@ পেপিজান, পাইথনের প্রথম শ্রেণির ধারাবাহিকতা নেই (যদিও আমি এটি নকল করতে বাইটকোড হ্যাক নিয়ে কাজ করছি)
অ্যারোনস্টার্লিং

1
অবজেক্টিভ-সি স্মার্টটাক থেকে আঁকায়, তবে আমি মনে করি এসটি থেকে আসল গ্রহণযোগ্যতা হ'ল পরিবেশের গতিশীলতা।
জন ক্রোমারটি

33

আমি দ্বিতীয় হাস্কেল। "আমি একটি লিস্প জানি, তাই আমি কার্যকরী প্রোগ্রামিং জানি" মনে করবেন না। টাইপ ক্লাস কখনও শুনেছেন? বীজগণিত তথ্য টাইপ? Monads? "আধুনিক" (কম বা কম - কমপক্ষে 50 বছর বয়সী নয়;)) কার্যকরী ভাষাগুলি, বিশেষত হাস্কেল খুব শক্তিশালী দরকারী নতুন ধারণার আধিক্য অনুসন্ধান করেছে। প্রকারের ক্লাসগুলি অ্যাড-হক পলিমারফিজম যুক্ত করে, তবে অনুক্রমটি টাইপ করুন (তবে আপনি যে ভাষা ইতিমধ্যে জেনে থাকেন সেগুলি নেই) মনোযোগের মতো কাজ করে। বীজগণিত সংক্রান্ত ডেটা প্রকারগুলি কেবল দুর্দান্ত গাছগুলির মতো ডেটা স্ট্রাকচারের মডেলিংয়ের জন্য কেবল দুর্দান্ত, তবে এনামগুলি বা সাধারণ রেকর্ডগুলির জন্যও দুর্দান্ত কাজ করে। এবং মনদেহ ... ঠিক আছে, আসুন আমরা বলি যে লোকেরা এগুলি ব্যতিক্রম করতে ব্যবহার করে I / O, পার্সারগুলি, তালিকা বোঝার তালিকা এবং আরও অনেক কিছু - খাঁটি কার্যকরী উপায়ে!

এছাড়াও, পুরো বিষয়টি বছরের পর বছর ধরে ব্যস্ত রাখার জন্য যথেষ্ট গভীর;)


"এছাড়াও, পুরো বিষয়টি একজনকে বছরের পর বছর ব্যস্ত রাখার জন্য যথেষ্ট গভীর;)" - আমি ভাবছি, কেন এটি ভাল জিনিস হবে? সর্বোপরি, আমাদের জীবন সীমাবদ্ধ।
vegai

1
@ ওয়েগাই: কেন এটি খারাপ জিনিস হবে? শেখার চেয়ে আজীবন কাটানোর আরও খারাপ উপায় রয়েছে। এবং কেউ বলেনি যে ভাষাটি সঠিকভাবে ব্যবহার করার জন্য আপনাকে বছরের পর বছর অধ্যয়ন করতে হবে - কেবলমাত্র বিষয়টি অল্প সময়ের পরে শেষ হয়ে যায়নি। (স্মাইলি নোট করুন - অংশটি সম্পূর্ণ গুরুতর নয়))

32

আমি বর্তমানে ক্লোজার, পাইথন, জাভা এবং পিএইচপি [...] এমন ভাষাগুলি কী যা আলাদা পদ্ধতি গ্রহণ করে এবং ব্যবহারিক সরঞ্জাম বাছাই বা তাত্ত্বিক বোঝার জন্য দরকারী?

সি

এখানে প্রচুর সি কোড পড়ে আছে --- এটি অবশ্যই ব্যবহারিক। আপনি যদি সি ++ শিখেন তবে চারপাশে আরও অনেক বেশি কোড রয়েছে (এবং আপনি সি এবং জাভা জানলেই লিপটি ছোট হয়)।

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

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

সি সম্পর্কে আরেকটি দুর্দান্ত বিষয়: দক্ষ সি প্রোগ্রামারদের সাথে প্রশ্নোত্তরে জড়িত থাকার ফলে আপনি প্রচুর উত্তর পাবেন যা নিম্ন স্তরের কনস্ট্রাক্টসের ক্ষেত্রে সি ব্যাখ্যা করে যা আপনার লোহার জ্ঞানের ভিত্তি তৈরি করে।

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


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

27

পিটার নরভিগের সাইট থেকে:

"কমপক্ষে অর্ধ ডজন প্রোগ্রামিং ভাষা শিখুন class এমন একটি ভাষা অন্তর্ভুক্ত করুন যা শ্রেণি বিমূর্তিগুলিকে সমর্থন করে (জাভা বা সি ++ এর মতো), ফাংশনাল অ্যাবস্ট্রাকশনকে সমর্থন করে এমন একটি ভাষা (যেমন লিস্প বা এমএল), সিনট্যাকটিক অ্যাবস্ট্রাকশনকে সমর্থন করে এমন একটি ভাষা (লিস্পের মতো), যেটি ঘোষণাকে সমর্থন করে স্পেসিফিকেশন (যেমন প্রোলগ বা সি ++ টেম্পলেট), করোটিনগুলিকে সমর্থন করে এমন একটি (আইকন বা স্কিমের মতো), এবং একটি যা সমান্তরালতা (সিসালের মতো) সমর্থন করে ""

http://norvig.com/21-days.html


13

আমি অবাক হয়েছি যে months মাস এবং শত শত ভোটের পরেও কেউ এসকিউএল উল্লেখ করেনি ...


10

উপপাদ্য / অ্যাডভান্সড টাইপ সিস্টেম হিসাবে প্রকারভেদে: কক (আমার মনে হয় আগদাও এই বিভাগে আসে)।

কক একটি কার্যকারী প্রোগ্রামিং ভাষায় এম্বেড হওয়া একটি প্রমাণ সহায়ক proof

আপনি গাণিতিক প্রমাণ লিখতে পারেন এবং কোক একটি সমাধান তৈরি করতে সহায়তা করে। আপনি ফাংশন লিখতে এবং এটি সম্পর্কে বৈশিষ্ট্য প্রমাণ করতে পারেন।

এর নির্ভরশীল প্রকারগুলি রয়েছে যা একাই আমার মনকে উড়িয়ে দিয়েছে। একটি সহজ উদাহরণ:

concatenate: forall (A:Set)(n m:nat), (array A m)->(array A n)->(array A (n+m))

এটি এমন কোনও ফাংশনের স্বাক্ষর যা A এর উপাদানগুলির এন এবং এম এর আকারের দুটি অ্যারের সাথে মিলিত করে এবং আকারের একটি অ্যারে (এন + এম) প্রদান করে। ফাংশনটি যদি ফিরে না আসে তবে এটি সংকলন করবে না!

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

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


আমি দ্বিতীয় কো। বেশিরভাগ ভাষা শেখার সময় আপনি এখনও আপনার পুরানো কৌশলগুলি ব্যবহার করতে পারেন, তবে কোক আপনাকে সর্বদা কাজ করে এমন মোট প্রোগ্রাম লিখতে বাধ্য করে।
ব্রুনো মার্টিনেজ

আমি গত গ্রীষ্মে কক শিখতে চেষ্টা করেছি কিন্তু ছেড়ে দিয়েছি কারণ এটি শেখার এবং ব্যবহারের বিষয়ে ভাল ডকুমেন্টেশন খুঁজে পাওয়া আমার পক্ষে কঠিন ছিল । কোনও পরামর্শ?

আমি আমার ইউনিতে একটি কোর্স থেকে শিখেছি এবং তারপরে "কোকআর্ট: ইন্ডুকিটিভ কনস্ট্রাকশনস এর ক্যালকুলাস" এটি সত্যিই আয়ত্ত করার পক্ষে যথেষ্ট নয়, তবে এটির প্রশংসা করার পক্ষে যথেষ্ট।
ব্রুনো মার্টিনেজ

6

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


5

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

সম্মতি এবং বিতরণ ক্যালকুলাস সম্পর্কিত, ল্যাম্বদা ক্যালকুলাসের সমতুল্য (যা কার্যকরী প্রোগ্রামিংয়ের পিছনে রয়েছে )টিকে পাই ক্যালকুলাস বলা হয়।

আমি কেবল পাই ক্যালকুলাসের কিছু বাস্তবায়ন দেখার জন্য অনুরোধ করতে শুরু করেছি। তবে তারা ইতিমধ্যে আমার কম্পিউটিংয়ের ধারণাগুলি বাড়িয়ে দিয়েছে।


5

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

উইকিপিডিয়ায় নিবন্ধগুলি ভাল:

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

জেপিএম এর বই পড়ুন: http://jpaulmorrison.com/fbp/

(আমরা হোম অটোমেশন উদ্দেশ্যে সি ++ তে একটি সহজ প্রয়োগ লিখেছি এবং আমরা এটিতে খুব খুশি Document ডকুমেন্টেশন নির্মাণাধীন রয়েছে))


+1, আমি বিশ্বাস করি যে ডেটাফ্লো এবং প্রবাহ ভিত্তিক প্রোগ্রামিং (সম্ভবত কার্যকরী-প্রতিক্রিয়াশীল প্রোগ্রামিং) আমাদের মাল্টিকোর ভবিষ্যতের একটি গুরুত্বপূর্ণ অঙ্গ হয়ে উঠবে।

5

আপনি অনেক ভাষা শিখেছেন। এখন সময় এসেছে একটি ভাষার দিকে মনোযোগ কেন্দ্রীভূত করার, এবং তা আয়ত্ত করার।


3

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

তবুও, আপনি যে সমস্ত কিছু সেখানে আগ্রহী বলে মনে করেন, তাই পরামর্শটি

এছাড়াও, আপনি ভিজ্যুয়াল বিল্ডিং স্টাফের জন্য অ্যান্ড্রয়েড অ্যাপিনভেন্টার চেষ্টা করতে পারেন


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

লেগো এনএক্সটি দিয়ে জাহাজগুলি ঠিক তাই? সম্পূর্ণ আমার জন্য কাজ করে না। যদিও পরামর্শ জন্য ধন্যবাদ।
পেপিজন

এটি জাতীয় উপকরণ থেকে। ল্যাবভিউ হ'ল একটি গ্রাফিকাল বিকাশ পরিবেশ যা বিজ্ঞানী ও প্রকৌশলীদের আরও উত্পাদনশীল করে তোলে
বেলুন

2

ব্রুস এ। টেট, প্র্যাগমেটিক প্রোগ্রামার থেকে একটি পৃষ্ঠা নিখুঁতভাবে একটি বই লিখেছিলেন: সাত সপ্তাহে সাতটি ভাষা: প্রোগ্রামিং ভাষাগুলি শেখার একটি কার্যনির্বাহী গাইড

বইটিতে তিনি ক্লোজার, হাস্কেল, আইও, প্রোলোগ, স্কালা, এরলং এবং রুবি জুড়েছেন।


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

2

বুধ : http://www.mercury.csse.unimelb.edu.au/

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

যদি আপনি চান, এটি প্রোগল যেমন হাস্কেল লিস্পের মতো।


1
  1. প্রোগ্রামিং প্রোগ্রামারদের কাজটি কভার করে না।
  2. নতুন জিনিস সবসময় আকর্ষণীয়, তবে কিছু খুব শীতল পুরানো জিনিস রয়েছে।

প্রথম ডাটাবেস সিস্টেমটি আমার জন্য dBaseIII ছিল, আমি ছোট্ট উদাহরণগুলি লিখতে প্রায় এক মাস ব্যয় করছিলাম (ডিবেস / ফক্সপ্রো / ক্লিপার ইনডেক্স সহ একটি টেবিল-ভিত্তিক ডিবি)। তারপরে, আমার প্রথম কর্মক্ষেত্রে, আমি এমএমপিএসের সাথে দেখা করেছিলাম এবং আমার মাথাব্যথা হয়েছিল। আমি তরুণ এবং সতেজ-ব্রেইন ছিলাম, তবে এমএমপিএস ডাটাবেস মডেলটি বুঝতে 2 সপ্তাহ লেগেছিল। কমিক্সের মতো একটি মুহূর্ত ছিল: 2 সপ্তাহ পরে, একটি বোতাম চালু হয়েছে, এবং বাল্বটি আমার মনে কেবল হালকা করেছে। এমএমএসপিএস প্রাকৃতিক, নিম্ন স্তরের এবং খুব দ্রুত। (এটি প্রকারহীন একটি ভারসাম্যহীন, আনলভিত্তিক বিট্রি।) আজকের ট্রেন্ডগুলি এটির ফিরে আসার পথটি দেখায়: নোএসকিউএল, কী-মান ডিবি, বহুমাত্রিক ডিবি - সুতরাং কেবল কয়েকটি পদক্ষেপ বাকি রয়েছে এবং আমরা ম্যাম্পস পৌঁছাচ্ছি।

এমএমএমএসের সুবিধাগুলি সম্পর্কে এখানে একটি উপস্থাপনা দেওয়া হয়েছে: http://www.slideshare.net/george.james/mumps-the-internet-scale-database- preferencesation

শ্রেণিবিন্যাস সম্পর্কিত একটি সংক্ষিপ্ত দস্তাবেজ: http://www.cs.pitt.edu/~chang/156/14hier.html

এমএমপিএস গ্লোবালগুলির একটি পরিচিতি (এমএমএমএসে, স্থানীয় ভেরিয়েবলগুলি সংক্ষিপ্ত: স্থানীয়রা মেমরি ভেরিয়েবল এবং গ্লোবাল ভেরিয়েবল, সংক্ষিপ্ত: গ্লোবালগুলি "ডিবি ভেরিয়েবল" হয়, একটি বৈশ্বিক ভেরিয়েবল সেট করে তাৎক্ষণিকভাবে ডিস্কে যায়): http: // gradvs1.mgateway.com/download/extreme1.pdf (পিডিএফ)


1

বলুন আপনি একটি প্রেমের কবিতা লিখতে চান ...

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

একবার আপনি কাছের নেটিভ বক্তৃতা স্তরে পৌঁছেছেন, আপনি আপনার কবিতা শুরু করতে প্রস্তুত।


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

সুস্বাদু বিড়ম্বনা, জন, আমি এটি পছন্দ করি (আমি ফরাসি, বিটিডাব্লু)
বিটিডাব্লু ভিনজ

1

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


1

৮০ এর দশকের মাঝামাঝি থেকে যে যার কাছাকাছি ছিল না তাদের জন্য আমি 8-বিট বেসিক শেখার পরামর্শ দেব। এটি খুব নিম্ন-স্তরের, খুব আদিম এবং এর গর্তগুলির চারপাশে প্রোগ্রাম করার জন্য এটি একটি আকর্ষণীয় অনুশীলন।

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

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


1

পোস্টস্ক্রিপ্ট। এটি স্ট্যাক ভিত্তিক হিসাবে এটি একটি বরং আকর্ষণীয় ভাষা এবং আপনি একবার কাগজে জিনিস রাখতে চান এবং আপনি এটি সম্পন্ন করতে চান বা এটি কেন সম্পন্ন হচ্ছে না তা সমস্যা সমাধান করতে চান এটি বেশ ব্যবহারিক।

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

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


1

এরং, ফোরথ এবং সমাবেশ ভাষার সাথে কিছু এম্বেড করা কাজ সত্যিই; একটি আরডিনো কিট বা অনুরূপ কিছু কিনুন এবং সমাবেশে একটি পলিফোনিক বিপ তৈরি করুন। আপনি সত্যিই কিছু শিখতে হবে।


1

এছাড়াও আছে anic :

https://code.google.com/p/anic/

এর সাইট থেকে:

সি এর চেয়ে দ্রুত, জাভা থেকে নিরাপদ, * শ এর চেয়ে সহজ

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

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


1

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

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

প্রোগ্রামিংয়ের নতুন পদ্ধতির ক্ষেত্রে এটি আপনার দিগন্তকে প্রশস্ত করতে না পারে তবে এটি আপনাকে অবশ্যই প্রোগ্রামিংয়ের আরও ভাল উপায়গুলি প্রদর্শন করবে।


1

আমি অন্য উত্তরগুলি থেকে এক জিনিস দেখতে পাচ্ছি না: শব্দ-রচনার ভিত্তিতে ভাষা।

আপনি খাঁটি - http://code.google.com/p/pure-lang/ এ একবার দেখে নিতে পারেন ।

গাণিতিকও পুনর্লিখনের উপর ভিত্তি করে তৈরি করা হচ্ছে, যদিও এটি কীভাবে চলছে তা নির্ধারণ করা এত সহজ নয়, এটি বন্ধ হয়ে যাওয়ার কারণে।


0

এপিএল, ফোরথ এবং অ্যাসেম্বলি।

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

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