কোন ভাষার বৈশিষ্ট্যগুলি ক্ষতিকারক হিসাবে বিবেচিত হয়? [বন্ধ]


20

দয়া করে, ব্যাখ্যা করুন কেন এবং কোন ভাষাগুলির (ভুল) বৈশিষ্ট্যটি কার্যকর করা হয়েছে তার তালিকা করুন যতদূর আপনি জানেন।

আপনি যা ক্ষতিকারক বৈশিষ্ট্য হিসাবে বিবেচনা করেন তা পোস্ট করুন, যা আপনি অপছন্দ করেন তা নয়



2
@ এসবিআই আপনি একই পৃষ্ঠায় "এক্সএমএলএইচটিটিপিউইকুয়েস্টকে ক্ষতিকারক হিসাবে বিবেচনা করেছেন" তেও পড়তে পারেন ...
HoLyVieR

1
এগুলির সমস্তকেই বেসিক এক্সপ্রেশনগুলির সম্ভাব্য ব্যতিক্রম সহ, অন্য কারও বা দ্বারা ক্ষতিকারক হিসাবে বিবেচনা করা হয়।
ডেভিড থর্নলি


3
@ ডেভিড থর্নলি: a = 1/0- মৌলিক প্রকাশ, ক্ষতিকারক। ;-)
অরব্লিং

উত্তর:


37

গ্লোবালগুলি পিএইচপি-তে নিবন্ধন করুন

তথ্য: http://php.net/manual/en/security.globals.php

পঠনযোগ্যতার কারণে এবং সুরক্ষার কারণে এটি এখন পর্যন্ত সবচেয়ে খারাপ বৈশিষ্ট্যটি প্রয়োগ করা হয়েছে। মূলত প্রাপ্ত সমস্ত জিইটি প্যারামিটারগুলি ভেরিয়েবলগুলিতে রূপান্তরিত হয়।

উদাহরণস্বরূপ এই URL টি দিয়ে: /index.php?value=foobar

আপনি নিম্নলিখিতটি করতে পারেন:

<?php
echo $value; // return foobar
?>

আপনি যখন কোড পড়ছেন, ভেরিয়েবলটি কোথা থেকে এসেছে তা জানতে খুব বিভ্রান্তি হয়।

এছাড়াও যদি বৈশিষ্ট্যটির অপব্যবহার করা হয় তবে এটি সুরক্ষা গর্ত হতে পারে। এখানে php.net এর একটি কোড উদাহরণ রয়েছে যা দেখায় যে এটি কীভাবে অপব্যবহার করা যায়:

<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
    $authorized = true;
}

// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
    include "/highly/sensitive/data.php";
}
?>

এটা কি সাংঘাতিক. যদিও আমি
চাইটি

14
এটি লক্ষ করা উচিত এবং জোর দেওয়া উচিত যে পিএইচপি ৪.২ (২০০২ সালে সমস্ত পথ ফিরে) থেকে পিএইচপি ৫.৩ (২০০৯) এ অবহিত এবং পিএইচপি in-এ সম্পূর্ণ অপসারণ করা হবে, তবে লোকেরা এখনও পিছিয়ে যেতে থাকবে "ওএমজি রেজিস্টার গ্লোবালগুলিতে" 10 বছর পরেও ভাল।

1
বেশ আশাবাদী পিএইচপি
মিং-টাং

@ শিখনকিরাউ এটি হতাশ নয়, সেই বৈশিষ্ট্যটি হ্রাস করা হয়েছে এবং পিএইচপি 6.-এ সরিয়ে দেওয়া হবে
হোলিভিআরআর

1
এটি হতাশ নয়, এটি এতগুলি অনেক অন্যান্য ভাষার পিছনে রয়েছে যে এটি ব্যবহারের একমাত্র কারণ হ'ল এটি অন্যান্য ভাষার তুলনায় সস্তার ওয়েব হোস্টিং পাওয়া খুব সহজ ছিল until
intuited

22

নুলকে ডিফল্টরূপে মঞ্জুরি দিন, "ট্রিলিয়ন" * ডলার ভুল। দুঃখিত টনি হোয়ার প্রায় প্রতিটি ভাষা গ্রহে উপলব্ধ।

টনি Hoare ব্যাখ্যা

* আমি এই দিনগুলিতে প্রকৃত ক্ষতির প্রতিবিম্বিত করতে টনি হোয়ের দ্বারা নির্মিত অভিব্যক্তিটি সামঞ্জস্য করেছি :-)


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

@ imgx86, না, এটি অবশ্যই একটি ভুল। নন-অ-রেলেবল রেফারেন্স টাইপগুলি এমন একটি বৈশিষ্ট্য যা সাধারণভাবে নালকে মঞ্জুর করে এমন টাইপ সিস্টেমের সাথে সামঞ্জস্য করার জন্য নাল ভুলের প্রতিক্রিয়াতে যুক্ত করা হয়।
ম্যাট ওলেনিক

@ কেরলেসা: সম্ভবত তিনি নিশ্চিত হতে চান যে হোএলভিআর পপুলিস্ট ব্যাজ পেয়েছে? :-) আমি সম্মত, আপনার নিজের উত্তরটি এভাবে গ্রহণ করার কোনও মানে নেই।
ম্যাকনিল

18

সি এবং সি ++ ম্যাক্রোস। যদি আমার ম্যাক্রোর জন্য কোনও স্ট্যান্ডার্ড ফাংশন নাম চয়ন করার কারণে আমার আর কোনও সংকলক ত্রুটি দেখতে হয় যা আমার কোডটিকে স্ক্রু করে দেয় আমি চিৎকার করতে চলেছি। আসুন শেষ আপত্তিজনকটি দেখুন:

#define vector(int) new VARIANT[int];

Aaarg! আমার এসটিএল ভেক্টর দিয়ে আপনি কী করেছেন !?


নামস্পেসিং হ'ল এমন একটি জিনিস যা টাইপডেফ এবং টেমপ্লেটগুলি তত্ক্ষণাত আরও বন্ধুত্বপূর্ণ করে তোলে।
Shog9

4
সম্মত হয়েছে তবে কেবলমাত্র আধুনিক ভাষাগুলি পাঠ্য ম্যাক্রোগুলির কার্যকারিতার জন্য প্রতিস্থাপনগুলি খুঁজে পেয়েছে। যখন তারা আবিষ্কার হয়েছিল, ম্যাক্রোগুলি একটি ভাল জিনিস ছিল কারণ সংকলক প্রযুক্তিটি এত আদিম ছিল।
dsimcha

আপনি এই ম্যাক্রোটি কোথায় পেলেন?
রওয়ং

@ ডিএসিমচা - আমি এই সম্পর্কে জানি না। লিস্প ম্যাক্রোগুলি দীর্ঘকাল ধরে রয়েছে।
জেসন বাকের

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

14

সি এবং সি ++ স্যুইচ স্টেটমেন্টগুলিতে ডিফল্টরূপে পতন।


18
আমি যে সমস্ত কোড লিখেছি তা এটি সর্বদা সহায়ক বৈশিষ্ট্য। এটি কীভাবে অপব্যবহার?
গ্রেফেইড

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

9
আপনার দায়মুক্তিতে ডাফের ডিভাইস উপহাস করেছে!
জেসি সি স্লিকার

3
আমি রাজী. ডিফল্টরূপে একটি ভাল বৈশিষ্ট্য নয়।

11
কেউ কি পড়ে না? তিনি বলেছিলেন ডিফল্টের দ্বারা
পতন

13

প্রকারভেদযুক্ত ধরণের রূপান্তরগুলির মধ্যে যখন ধরণের রূপান্তরিত হয় তখন তাদের স্পষ্ট সম্পর্ক থাকে না। উদাহরণস্বরূপ, পিএইচপি-র মতো একটি এলোমেলো, অ-সংখ্যাসূচককে রূপান্তর stringকরা int


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

2
@ স্লোকুন: আপনি কি আরও ভাল উদাহরণ দিয়ে আসতে পারেন? স্ট্রিং টাইপ ব্যবহার করে কেন ডিবিতে অবিচ্ছেদ্য মানগুলি সঞ্চয় করবেন?
স্টিভেন ইভার্স

@ এসএনআরফাস একটি ইউআরএল, ব্যবহারকারী ইনপুট, ফাংশন এবং স্ট্যাটিক্যালি টাইপ করা ভাষায় সাধারণ অন্যান্য বিষয়গুলিতে একটি নম্বর পাস করা।
TheLQ

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

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

12

গোটো : যদিও বিরল ক্ষেত্রে ঠিক আছে, তবে এটি প্রায়শই অপব্যবহার করা হয় এবং প্রোগ্রামগুলি পড়তে কঠোর হয়।


ভাল godশ্বর হ্যাঁ। xkcd.com/292
TheLQ

3
আমি এর বিপরীতটি দেখেছি যেখানে গোটোর ন্যায়বিচারের ব্যবহারের ফলে প্রোগ্রামটি 3 মিলিয়ন লাইনের কোড হতে বাঁচতে পারে।
ডেভ

2
আহ, হাইপারবোলে ... একটি বৈধ সাহিত্যিক কৌশল।
রবার্ট হার্ভে

11

কিছুই না

কোনও বৈশিষ্ট্যটি ঘন ঘন অপব্যবহারের কারণে এটি ক্ষতিকারক হয় না।

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

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

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

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


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

5
+1 ভুল হাতে রাখুন, যে কোনও ভাষা গঠন ক্ষতিকারক।
mouviciel

5
গুড বিন্দু ... এমনকি যদি gotos 95% খারাপ, বৈশিষ্ট্য নিজেই এখনো অন্যান্য 5% জন্য থাকার মূল্য
ইডিএস

1
আমি মনে করি এটি রেডিও অন / অফ বোতামের পাশে ইজেক্টর সিট বোতামটি রাখার মতো। বৈশিষ্ট্যটি নিজেই খারাপ নাও হতে পারে, তবে এটির দুর্ঘটনাক্রমে ব্যবহার দ্বারা ক্ষতি রোধ করা নয়।
লেনি প্রোগ্রামারস

1
আমি মনে করি এটি "বন্দুক মানুষ হত্যা করে না, মানুষ করে" এর প্রোগ্রামিং সমতুল্য।
41

7

অটোভিভিফিকেশন (বা অন্যান্য বাইন্ড-ভেরিয়েবল-অন- (এসাইন করা | ব্যবহার) বৈশিষ্ট্য) হ'ল বৈশিষ্ট্য যা আমি আমাকে সর্বাধিক বাগ দিতে পেরেছি।


+1 - আমরা পুনরুক্তিযুক্ত চিনির সাথে একমত হতে পারি না তবে এটি আমি 100% এর সাথে একমত হতে পারি।
কেওসপ্যান্ডিয়ন

7

PLEASEইন্টারকল এ। এটি যথেষ্ট পরিমাণে ব্যবহার করবেন না, এটি অভিযোগ করে। এটি অত্যধিক ব্যবহার করুন, এটি অভিযোগ করে।


2
সেই ভাষা গুরুত্ব সহকারে ব্যবহার করার কথা নয়। এটি একটি খুব 'অনন্য' প্রোগ্রামিং ভাষা হিসাবে তৈরি হয়েছিল, সুতরাং এটি এমন কিছু পূর্ণ (যেমন কমেফ্রুম - আমার মনের শীর্ষে) যা বোঝায় না।
ShdNx

4
আমি ভেবেছিলাম যে এটি সুস্পষ্ট হবে, তবে হ্যাঁ, আমি সচেতন যে এটি কোনও গুরুতর ভাষা নয়।
অ্যালান পিয়ার্স

2
দুঃখিত, কিছু লোক এখানে প্রায় গুরুতর।
সি

1
গত সপ্তাহে উইকিপিডিয়ায় সবেমাত্র ভাষাটি আবিষ্কার হয়েছে এবং এটি কতটা জনপ্রিয় (এবং এখনও ও ওও নয়) তা উড়িয়ে দেওয়া হয়েছিল।
অলিভার ওয়েইলার

বেশ কয়েকটি "চ্যালেঞ্জ" ভাষা রয়েছে এবং সেগুলি সর্বদা জনপ্রিয়, কারণ কোডারদের তাড়াটির ভালবাসার কারণে এই কাজটি করার প্রবণতা রয়েছে। সাক্ষাত্কারের প্রশ্নগুলির জন্যও এটি খুব জনপ্রিয় কারণ তারা ইচ্ছাকৃতভাবে অবসন্ন, চিন্তাভাবনা এবং উদ্বেগজনক।
41

7

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

  • সমস্ত কিছুর জন্য ডিফল্টরূপে গ্লোবাল স্কোপ (ডিসি দেখায় যে কীভাবে ফাংশন / অবজেক্টগুলিকে নামের স্থান এবং স্কোপ ডিলিমিটার হিসাবে এটি ব্যবহার করতে যায় তা লিখুন gle)

  • বিবৃতিগুলির মতো with, যার ব্যর্থতা আচরণ বিশ্বব্যাপী নেমস্পেসে জিনিসগুলি সংজ্ঞায়িত করা। (গাহ! এটি জেএসের মতবাদের মতো আপনি যদি ব্যর্থ হন তবে যতটা সম্ভব হার্ড ব্যর্থ হন !)

  • ==অপারেটরের সাথে অপ্রত্যাশিত আচরণ , যার মূলত আপনাকে সর্বদা ===অপারেটরটি ব্যবহার করা প্রয়োজন ।

  • সেমিকোলন সন্নিবেশ।

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


6

ডিফল্ট আচরণ হিসাবে ফ্ল্যাশ প্লেয়ারে "চুপচাপ ব্যর্থ"

ঠিক আছে, সত্যই ভাষাটির কোনও বৈশিষ্ট্য নয় তবে এখনও বেশ নিবিড়ভাবে সম্পর্কিত।

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

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

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

তবে নির্দিষ্ট সংবাদ সাইটে ফ্ল্যাশ এম্বেড করা সিনেমাগুলি দেখা এবং ব্যবহৃত এম্বেড থাকা প্লেয়ার এসডাব্লুএফ থেকে নুল রেফারেন্স সম্পর্কে বার বার বার্তা পাওয়া খুব আকর্ষণীয় হতে পারে। : ডি


আইফোন অ্যাপস কখনও কখনও সতর্কতা ছাড়াই ক্র্যাশ হয়ে যায়, কিছু অদ্ভুত সময়গুলিতে
মিং-টাং

3
কোনও কিছুর ক্ষেত্রে নিঃশব্দে ব্যর্থ হওয়া বেশ লম্পট।

6

সি / সি ++-তে: এই অ্যাসাইনমেন্টগুলিও একই রকম অ্যাসাইনমেন্ট = এবং তুলনা == অপারেটরগুলির সাথে একত্রিত express প্রতি সেউটি কোনও ক্ষতিকারক বৈশিষ্ট্য নয়, তবে অপারেটরটিকে ভুল করে টাইপ করে এটি (কখনও কখনও সূক্ষ্ম) বাগগুলি সহজভাবে উপস্থাপনের উপায়।

int i = 10;

someCode();

if(i = 5)
{
    /* We don't want this block to be executed, but it is */
    moreCode();
}

... একটি পূর্ণসংখ্যা বা পয়েন্টার একটি বৈধ শর্ত যে সত্যের সাথে মিলিত।
বারজাক

5

প্যাকেজ ব্যক্তিগত ভাষার ডিফল্ট এবং ব্যক্তিগত প্রোগ্রামিং কনভেনশন ডিফল্ট সহ জাভাতে অ্যাক্সেস মডিফায়ারগুলি।


5

কোনো সতর্কবার্তা ছাড়া শেল মধ্যে একটি খালি স্ট্রিং দ্বারা অনির্ধারিত ভেরিয়েবল প্রতিস্থাপন করা হচ্ছে: rm -rf $nosuchvar/*


+1 আঃ! এলএল - ভয়াবহ ডিফল্ট (এবং মজাদার / ভীতিকর উদাহরণ)
২২

@ এরকম কিছু কাজ করা একদম কর্মবিরতি ${varname:-/dev/null}হতে পারে ...
ডুরোস

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

4

লোগোতে ঘড়ির কাঁটার বিপরীতে ঘুরিয়ে দেওয়ার ক্ষমতা। ডাব্লুটিএফ, কেবল ঘড়ির কাঁটার 360 - xডিগ্রি ঘুরিয়ে দিন ।


ঠিক আছে, আমি লোগোগুলি ব্যবহার করে বেশ কিছুক্ষণ হয়ে গেল। কেন এটি ক্ষতিকারক?
ম্যাসন হুইলারের

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

@ ম্যাসন, এটি একটি রসিকতা হওয়ার কথা ছিল।
jjnguy

3
হ্যাঁ, বিশেষত লোগোর জন্য ঘড়িতে।
intuited

1
আমি লোগোকে ভালবাসি ( প্রোগ্রামার.সটাকেক্সচেঞ্জ / প্রশ্নগুলি / ২১০২৮/২ দেখুন ) এবং এটি একটি দুর্দান্ত শিক্ষণ ভাষা, বিশেষত তরুণদের জন্য। যখন আমি 11 বলছিলাম এবং প্রথমবার ব্যবহৃত লোগোটি আমার ক্লাসের বেশিরভাগই এতটা জ্যামিতি জানতেন না, তবে তারা 90 জনকে জানিয়েছিলেন যে এক চতুর্থাংশের পালা এবং ডান দিক থেকে বামদিকে জানেন। সুতরাং এটি একটি নেতিবাচক বৈশিষ্ট্য নয় - একই কারণ আমরা কোনও বিভাজন অপারেটরের পরিবর্তে পারস্পরিক ক্রিয়াকলাপ দ্বারা কেন গুণ করি না। হ্যাঁ, আমি জানি এটি একটি রসিকতা।
অর্বলিং

4

অন্য থ্রেড থেকে থ্রেড থামানো

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


যদিও আমি এই অনুমান করতে ক্ষতিকারক হতে, সেখানে বার এটা অত্যন্ত দরকারী (যেমন, একটি ডিবাগার একক পদবিন্যাস এবং বিরতি পয়েন্ট সমর্থনকারী)।
জেরি কফিন

1
@ জেরি ডিবাগিং একটি সম্পূর্ণ অন্য জিনিস, এটি প্রক্রিয়াটি থামায় না, এটি বিরতি দেয়।
HoLyVieR

বরং বিপরীতে, এটি থ্রেড থামায়। স্পষ্টতই, আপনি থ্রেডটি মেরে ফেলার কথা বলছেন , এটি কেবল থামছে না। এটি ন্যায়সঙ্গত করা কিছুটা শক্ত ...
জেরি কফিন

যদিও এটি প্রয়োজনীয়ভাবে ভাষার বৈশিষ্ট্য হিসাবে দেখছি না। আরও একটি স্ট্যান্ডার্ড গ্রন্থাগার জিনিস।
জেসন বেকার

4

পিএইচপি-তে পরিবর্তনশীল ভেরিয়েবল

শুধু আপনি $canমানে না কারণ$$should


1
যথারীতি পার্ল ... এর (সম্ভাব্য বিপজ্জনক) বৈশিষ্ট্য উপলব্ধ রয়েছে, এটি বন্ধ করার জন্য একটি সর্বোত্তম অনুশীলনের উপায় রয়েছে ( use strict) এবং আপনি যে ক্ষেত্রে চান তা ঠিক আবার চালু করার সহজ উপায় ( no strict 'refs')।

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

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

1
@ জো আমি আপনাকে একটি উদাহরণ দেখানোর জন্য আপনাকে চ্যালেঞ্জ জানাব যেখানে ভেরিয়েবল ভেরিয়েবলগুলি সমাধানকে আরও পরিষ্কার করে।
কেন্ডাল হপকিনস

1
মন্তব্যটি একটি রসিকতা হিসাবে বোঝানো হয়েছিল , দুঃখিত আমি এটি পরিষ্কার করেছিলাম না, তবে যেহেতু আপনি এখানে জিজ্ঞাসা করছেন এটি একটি সেরা উদাহরণ যেখানে ভেরিয়েবল ভেরিয়েবলগুলি সমাধানকে আরও পরিষ্কার করে দেয় । যদিও আমি এটির বদলে খারাপ উদাহরণ স্বীকার করব।
জো ডি

3

Withযদিও মামলা হয় যখন এটি দরকারী এর ডেল্ফী মধ্যে বক্তব্য, মনে আসে।


একটি ভাল ক্ষেত্রে যখন আমি ডেলফি থেকে লাজার এবং আমার টিসি কন্ট্রোল বংশধরের "ক্যানভাস ডু ... প্রশস্ততা, উচ্চতা" নিয়ন্ত্রণ মাপের সাথে উল্লেখ করে কিছু রেখেছিলাম, তবে লাজার টিকানভাসের নিজস্ব প্রস্থ এবং ডেলফি ছিল, সুতরাং এটি ভুলভাবে সংকলিত কোড তৈরি করেছিল
মাকসি


2

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

sub foo { (1..5) }
my @list = foo();           # (1,2,3,4,5)
my $length = scalar @list;  # 5. the length of the list.
my $length2 = scalar foo(); # '' (the empty string. because it's false)

এটা ঠিক না।

(এটি এমন কিছু তৈরি করার চেষ্টা থেকে উদ্ভূত যা নিয়মিত পরিসীমা অপারেটরের মতো কাজ করে, যাতে আপনি কোনও লুপে কিছু বলতে পারেন next if /start_regex/ .. /end_regex/)।


মানুষ যে এত বিভ্রান্ত। পার্ল শিখার সবচেয়ে খারাপ জিনিসটি আমার মাথাটি ঘিরে ধরার চেষ্টা করছিল।
গ্লেনাট্রন

আমি সবসময় এমন কোনও কিছু ভেবে থাকি যা কোনও ফাংশনকে একাধিক উপায়ে ফিরতে দেয় এমন সুবিধাজনক সুবিধা ছিল।
1:42 তে অর্বলিং

2

পাইথন 2.x এর আপেক্ষিক আমদানি বাক্য গঠন। ধরুন আমার কাছে এমন একটি প্যাকেজ রয়েছে x.pluginsযা এর জন্য অন্যান্য অন্যান্য লাইব্রেরির জন্য সমর্থন যোগ করে x। এবং ধরুন আমার একটি sqlalchemyমডিউল রয়েছে x.pluginsযাতে আমি স্কেলচেমি সমর্থন যুক্ত করতে পারি x। আমি নিম্নলিখিত পংক্তিটি স্কেলচেমি.পি-তে যুক্ত করলে কি হবে বলে আপনি মনে করেন?

import sqlalchemy

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

from . import sqlalchemy

... তবে পাইথন 3 অবধি এটি প্রথম নয় যে প্রথম সিনট্যাক্সটি আসলে মুক্তি পেয়েছিল (যদিও এটি পাইথন 2.6+ এর সাথে অক্ষম করা যেতে পারে from __future__ import absolute_import)।


1

sun.misc.unsafe আমার সর্বকালের প্রিয়; "জিনিসগুলি বাস্তবায়নের জন্য আমাদের এটির প্রয়োজন ছিল তবে সত্যই, আপনার এটি ব্যবহার করা উচিত বলে মনে হয় না of"


7
প্রতিটি ভাল ভাষার স্ট্যান্ডার্ড লাইব্রেরিতে একটি অনিরাপদ প্যাকেজ থাকা উচিত । এই প্যাকেজটি আমদানি করা নিম্ন-স্তরের unportable জিনিসগুলি করার আপনার উদ্দেশ্যটি স্পষ্টভাবে দেখায়। বিকল্পগুলি হ'ল : 1- ভাষায় অনিরাপদ বৈশিষ্ট্য থাকা (উদাহরণস্বরূপ C ++) এবং 2- নিম্ন স্তরের জিনিসগুলি করার জন্য সি এর মতো আলাদা ভাষা ব্যবহার করা (উদাহরণস্বরূপ পাইথন এবং রুবি)। অনিরাপদ প্যাকেজ পদ্ধতির বিষয়টি আমার কাছে আরও ভাল বলে মনে হচ্ছে।
imgx64

1

FORTRAN সাধারণ ব্লক। আপনি যদি একটি সাধারণ ভুল করে থাকেন তবে কোনও অ্যাপ্লিকেশনটির একটি অংশ অন্য অংশের গ্লোবালগুলিকে আঁকড়ে ধরতে পারে।

ফরটারান গেটো স্টেটমেন্ট / সিওবিওএল পরিবর্তনের বিবৃতি দেয়। স্ব-সংশোধনকারী কোড। বিপদ, সতর্কতা, উড়ন্ত স্প্যাগেটি দানব !!


ফরটারের একটি বিকল্প বিবৃতি নেই। ফরটারের কাছে এসএসআইজিএন বিবৃতি ছিল, বরাদ্দকৃত গোটোর সাথে। COBOL এর ALTER স্টেটমেন্ট ছিল, যা অনুরূপ উদ্দেশ্যে কাজ করেছিল।
জন আর স্ট্রোহম

@ জন - ধন্যবাদ আমার বরাদ্দকরণ / পরিবর্তনের স্মৃতি মন্থর ... কমপক্ষে নয় কারণ সেগুলি কখনই ব্যবহার করতে শেখানো হয়েছিল।
স্টিফেন সি

1

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


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

অবজেক্ট ওরিয়েন্টেশন এখনও কোড পুনরায় ব্যবহার এবং কোড / ডেটা এনক্যাপসুলেশন উন্নত করে। বৈশিষ্ট্যের স্থির / গতিশীল ব্যবহার নির্বিশেষে।
1:48 এ Orbling

@ আরব্লিং: কিসের তুলনায়? আমার মতে ক্রিয়ামূলক প্রোগ্রামিং ভাষাগুলিতে একটি উচ্চতর কোডের পুনঃব্যবহার রয়েছে এবং আমি মনে করি কোড / ডেটা এনক্যাপসুলেশনের জন্য হাস্কেলের মডিউল সিস্টেমটি বেশ ভাল।
ল্যানিপ্রোগ্রামাররা

@ লেনি 222 মানক অত্যাবশ্যক প্রোগ্রামিংয়ের সাথে তুলনা করে। আমিও কার্যকরী পদ্ধতির পছন্দ করি, হাস্কেল আমার পছন্দের ভাষা।
অর্বলিং

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

1

magic_quotes পিএইচপি মধ্যে

অনভিজ্ঞ ডেভেলপাররা হয় এটি সক্ষম হওয়ার উপর নির্ভর করে এবং সুতরাং কোনও এসকিউএল কোয়েরিতে ব্যবহারের জন্য সমস্ত ব্যবহারকারীর ইনপুটটি এড়িয়ে যেতে পারে বা এটি অক্ষম হওয়ার উপর নির্ভর করে এবং এভাবে সর্বদা তাদের ইনপুটটি এড়িয়ে যায়।

এটি সক্ষম করার বিষয়টি ধরে নিলে এবং তারপরে এমন কোনও সিস্টেমে কোড চালানো হচ্ছে যেখানে এটি নয় এটি প্রশস্ত এসকিউএল ইঞ্জেকশন গর্ত ফাঁক করে দেয়।

এটি অক্ষম করে এবং এটি না তা ধরে নেওয়ার পরে, এর ফলে ব্যাকস্ল্যাশগুলি প্রকৃতপক্ষে ডিবিতে সঞ্চিত থাকবে, ফলে কুৎসিত / ভুল স্ট্রিং ঘটবে।

উভয় কেস পরিচালনা করার খুব সহজ উপায় নেই - এটি ব্যবহার করে সক্ষম করা হয়েছে কিনা তা আপনাকে পরীক্ষা করে দেখতে হবে get_magic_quotes_gpc()এবং তারপরে অ্যারেগুলিতে stripslashes()সমস্ত মান প্রয়োগ করতে হবে $_*- যেহেতু এটির জন্য আপনার array_mapএকটি কাস্টম ফাংশন প্রয়োজন পুনরাবৃত্তিযোগ্য নয়।


অথবা আপনি কেবলমাত্র প্যারামিটারাইজড কোয়েরি ব্যবহার করতে পারেন।
পিটার বি

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

-3

ভাষা বৈশিষ্ট্য যা প্রোগ্রামারগুলিকে নিরবিচ্ছিন্ন বা অর্থহীন-মন্তব্য কোড লিখতে দেয়।


1
এবং কিভাবে এটি ঠিক করবেন?
ম্যানেরো 18

1
@ বিগাউন: মন্তব্য-বা-ডাই বৈশিষ্ট্যটি প্রয়োগ করে: ডি।
tia

3
এটাকে বলা হয় লিট্রেট প্রোগ্রামিং। en.wikedia.org/wiki/Literate_pogramming
ব্যারি ব্রাউন

2
এটি কোনও বৈশিষ্ট্য নয়, তবে এটি ব্যবহারকারীর সম্মুখ প্রান্তে একটি অত্যন্ত বিখ্যাত বাগ, বেশিরভাগ মানুষ এটির ল্যাটিন নাম দ্বারা জানেন: হোমো সেপিয়েন্স।
জো ডি

-3

এখানে একটি অঙ্গ নেভিগেশন একটি বিট বাইরে যাচ্ছে - শূন্য ফাংশন। একটি ফাংশন সর্বদা কিছু না কিছু ঘটে তাই ফলস্বরূপ বা তার সাফল্য বা ব্যর্থতা সম্পর্কিত কিছু অন্যান্য তথ্য ফেরত দেওয়া উচিত।


3
পাস্কালের পদ্ধতি (রিটার্নের মূল্য নেই) পাশাপাশি ফাংশন (রিটার্ন মান) ছিল।
জন অনস্টট

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

-4

বেসিক এ পোকে ...


7
পোক দুর্দান্ত ছিল।
Shog9

2
প্রাথমিক দিনগুলিতে একমাত্র যুক্তি ছিল আপনি বেসিক কিছু নির্দিষ্ট জিনিস অর্জন করতে পারে। একটি অ্যাপলে সংগীত] [মনে আসে ...
বিল

2
আমি সঠিকভাবে মনে রাখলে কমডোর 64৪ তে পোকে ছাড়া আপনি বেশি কিছু করতে পারেন না remember
মেটালমাইকস্টার 17

1
উভয়ই অত্যাবশ্যক, পিইকেকে ভুলবেন না।

-5

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


2
যদি আপনি কোথাও কোনও সংগ্রহে বসে রেফারেন্স পেয়ে থাকেন তবে আপনার অন্যান্য সমস্যা আছে।
চিন্ময় কাঞ্চি

2
এজন্য gc'ed ভাষাগুলির দুর্বল উল্লেখ রয়েছে :)
চিন্ময় কাঞ্চি

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

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

2
@ ব্যারি: এটি প্রোগ্রামের মধ্যে নির্ধারিত। যদি আমি 5 কেবি মেমরির ব্লকটি সম্পন্ন করি, তবে খুব শীঘ্রই আরও 5 কেবি জিজ্ঞাসা করুন, কী হবে? কোনও আবর্জনা সংগ্রহ করা সিস্টেমে এটির জন্য একটি নতুন 5 কেবি ব্লকের অনুরোধ করা দরকার, যদিও জিসি অন্তর্বর্তীকালীন সময়ে চালিত না হয়, যদি না আপনি পুরানো ব্লকটি পুনর্ব্যবহার করতে পারেন তবে সঠিকভাবে অব্যবহৃত বসে থাকবেন না। ম্যালোক এবং ফ্রি সহ, আপনি সর্বদা পুরানো ব্লকটি পুনর্ব্যবহার করতে সক্ষম হবেন। এটি কয়েক লক্ষ দ্বারা গুণিত করুন এবং এটি একটি বাস্তব সমস্যা হয়ে ওঠে।
ম্যাসন হুইলারের

-5

সি, এবং অবশ্যই সি ++: পয়েন্টার গাণিতিক। লোককে মেমরি ঠিকানায় পূর্ণসংখ্যাকে রূপান্তর করতে দেওয়া সমস্যার জন্য জিজ্ঞাসা করছে।

এবং এমনকি পয়েন্টারগুলিতে পুরোপুরি কাঁচা অ্যাক্সেস?

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

জাভাও প্রমাণ করে যে আপনি এমন একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করতে পারেন যা পয়েন্টারগুলিকে পয়েন্টার মানটিতে অ্যাক্সেস না করেই ব্যবহার করে।

ছাড়াও null... তবে এটি আলাদা গল্প।


5
পয়েন্টারগুলি, সময়ে সময়ে সঠিকভাবে ব্যবহার করা কঠিন, প্রচুর দক্ষ মেমরির ক্রিয়াকলাপের জন্য খুব প্রয়োজনীয়।
বিল

1
সত্য। তবে লোকেরা নিয়মিতভাবে মেমরি রেফারেন্সগুলিতে পূর্ণসংখ্যাকে রূপান্তর করতে বা মেমরির ঠিকানায় সংখ্যা যুক্ত করা আমার মতে আজকাল বেশিরভাগ ক্ষতিকারক। সি ++ এ আপনার নিখুঁতভাবে ভাল বিকল্প হিসাবে উল্লেখ রয়েছে এবং স্মার্ট পয়েন্টার / অটো পয়েন্টার যখন আপনার সত্যই এটির পয়েন্টার হওয়া দরকার।
Asgeir এস। নীলসেন

4
এই উত্তরটি কেবলমাত্র বৈধ যদি আপনি পয়েন্টারগুলি গোপন করতে নির্মিত সফ্টওয়্যার স্ট্যাকের উপর কাজ করছেন। ইন সব অন্যান্য ক্ষেত্রে, এই উত্তর ভুল।
পল নাথান

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

2
-1। আপনার পিটিআরটি গাণিতিক প্রয়োজনের একটি কারণ রয়েছে: একটি বিন্দুটি পরিমাপ করা সূচকের চেয়ে দ্রুত fast for(int i=0;i<SIZE;++i) ++arr[i]তুলনায় ধীর for(int*i=arr;i<arr+SIZE;++i)*i++। সমস্ত জাভা প্রমাণ করতে পেরেছিল যে আপনার পয়েন্টার লাগবে, বা আপনি কখনই তাকাচ্ছেন নি sun.misc.Unsafe? আপনার যদি পয়েন্টারগুলির প্রয়োজন না হয় তবে দয়া করে জাভা ব্যবহার করে জেনেরিক অদলবদল কীভাবে লিখবেন তা ব্যাখ্যা করুন। (উদাহরণস্বরূপ int a = 1, b = 2; অদলবদল (ক, খ); দাবী (a == 2 && খ == 1);)। সি / সি ++ এ থাকা সমস্ত সমস্যার উল্লেখ না করে আপনি যদি উল্লেখ ব্যবহার করতে চান তবে আপনার থাকতে হবে। অস্বচ্ছ স্ট্রাক্ট ডাব্লু / ও পয়েন্টারে আপনি কীভাবে ভার্চুয়াল ফাংশনটিকে কল করবেন?
কিটসুনওয়াইএমজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.