প্রোগ্রামাররা সিনট্যাক্স ভুলে যাচ্ছেন


17

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


1
কিভাবে "সহজ" উপর নির্ভর করে। কিছু উদাহরণ / ব্যাকগ্রাউন্ড দরকারী হবে। তারা যে ভাষা / পরিবেশের সাথে প্রোগ্রামিং করছে তাতে কোনও অসঙ্গতি সমস্যা হতে পারে।
rwong

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

সি ++ এ, আমি সাধারণত পয়েন্টার-টু-ফাংশনগুলির জন্য সিনট্যাক্স সন্ধান করতে হয় (সদস্য বা না) কারণ আমি এটি ঘন ঘন ব্যবহার করি না ... সম্ভবত সিনট্যাক্সটি কেবল অদ্ভুত ?
ম্যাথিউ এম এম

উত্তর:


25

প্রোগ্রামিং সম্পর্কিত আমার দর্শন এটি একটি "মনের অবস্থা" এবং বাকীটি "কেবল বাক্য গঠন"। (যেমন গুরুত্বপূর্ণ নয়)

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


8
হুবহু, কথ্য ভাষার মতো: আপনাকে কীভাবে এটি বলতে হয় তা জানতে হবে তবে অভিধানগুলি দুর্দান্ত সহায়তা are প্রায়শই, আপনি জানেন আপনার শব্দভাণ্ডার থাকার আগে আপনি কী প্রকাশ করতে চান!
কেভিন কেন্টু

@ কেভিন - ঠিক - তবে কারওর সাবলীলতা তারা কতটা ঘন ঘন এই জাতীয় উল্লেখ উল্লেখ করে তা বিচার করতে পারেন। আমরা বেশিরভাগ সময়ে সময়ে এগুলি ব্যবহার করতাম তবে আপনি এমন কাউকে জিজ্ঞাসা করবেন যিনি বলেছিলেন যে তারা কোন ভাষা বলতে পারে তবে ক্রমাগত কোনও অভিধানের উল্লেখ করার প্রয়োজন অনুভব করেন।
জন হপকিন্স

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

আমি মনে করি যে আরও 'উন্নত' বিকাশকারীও সম্ভবত তাদের বেল্টের অধীনে একাধিক ভাষা থাকতে পারে এবং কখনও কখনও তাদের বিভ্রান্ত করে তোলে। আমি এখনও সময়ে সময়ে সি # এবং সি ++ এর মধ্যে বহুমাত্রিক অ্যারের ঘোষণাকে বিভ্রান্ত করি (এটি কি "আরআর [] [] বা আরার [,]" ছিল) এবং এটি সন্ধান করতে হবে।
স্টিভেন এভার্স

28

এটি আপনার অর্থের উপর নির্ভর করে তবে সংক্ষিপ্ত উত্তর হ্যাঁ।

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

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


8
হি, স্যুইচ স্টেটমেন্টটির সঠিক বাক্য গঠন সাধারণত আমাকে শোক দেয়।
জর্জ মারিয়ান

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

সুইচ স্টেটমেন্ট সিনট্যাক্সের জন্য +1 - এটি কোনও কারণে কেবল অধরা
বিলি.বব

5
কেউ জানেন যে অগণিত ভাষা এবং মাঝে মাঝে সিনট্যাক্স একসাথে মিশে যেতে পারে তার উল্লেখ না করা।
জোসাফ

@ ডেভ আমি মনে করি সমস্যাটি প্রতীকের মিশ্রণ। এটি সাধারণত switch, প্রথম বন্ধনীগুলির পরে কিছু হয়, তারপরে একটি খোলার বন্ধনী হয়, তারপরে caseএকটি লেবেল থাকে যা বন্ধনীগুলিতে থাকে না , তার পরে একটি কোলন থাকে, তারপরে বিবৃতিগুলি সাধারণত আধা-কোলন দিয়ে স্তম্ভিত হয়। এবং, আসুন, ভুলে যাওয়া উচিত breakবিবৃতি। প্রচেষ্টা এবং নিবিড় দৃ force়তার মাধ্যমেই আমি শেষ পর্যন্ত এটি মুখস্ত করেছিলাম এবং আমাকে এখনও মাঝে মাঝে ডাবল চেক করতে হবে; ঠিক নিশ্চিত করার জন্য.
জর্জ মারিয়ান

10

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


+1 টি। আমি নিজেকে সি ++ তে সাবলীল বিবেচনা করব এবং আমি প্রতিদিন ফাংশনের নাম এবং যুক্তিগুলি সন্ধান করি । std::stringউদাহরণস্বরূপ আমি প্রত্যেক সদস্যের মুখস্থ করতে যাচ্ছি না ।
মাইকেল ক্রিস্টোফিক

8

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


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

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

5

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

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


4

আমি এখানে গুগলিং "সিনট্যাক্স" সম্পর্কে আগ্রহী।

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

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

তবে গুগলে আপনার কিছু দরকার? আমার কাছে এটি সাধারণত বাক্যবিন্যাস নয়, এটি এমন কিছু যা আপনি সত্যিই জানেন না বা কেবল উত্তমরূপে পরিচিত।

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

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

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

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


ডাউন ভোটের জন্য মন্তব্য? মতানৈক্য কি তাতে সত্যই আগ্রহী।
জন হপকিন্স

+1 - ভাল কলsyntax != api
জেরেমি হিলার

3

আমার মতামতটি এটি নয়। এটি সিনট্যাক্স নয় যা গুরুত্বপূর্ণ, তবে সমস্যা সমাধানের জন্য বা লক্ষ্য অর্জনের দিকে আপনার যুক্তি যদি আপনি একাধিক ভাষায় কাজ করার প্রাকৃতিক ধারণা করেন যে কোনও সময় আপনি সঠিক বাক্য গঠনটি মনে করতে পারেন না।


0

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

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