সি / সি ++ এর জন্য সংকলনযোগ্য আধুনিক বিকল্পগুলি [বন্ধ]


38

আমি একটি নতুন সফ্টওয়্যার পণ্য লিখতে বিবেচনা করছি। পারফরম্যান্সটি সমালোচিত হবে, সুতরাং আমি কোনও ব্যাখ্যামূলক বা ভাষা বা ইমুলেশন স্তর ব্যবহার করে এমন একটি (জাভা পড়ুন) ব্যবহার করা সম্পর্কে সতর্ক।

যা আমাকে সি (বা সি ++) ব্যবহার করার চিন্তাভাবনা করতে পরিচালিত করে তবে এগুলি উভয়ই দাঁতে লম্বা। আমি দীর্ঘকাল ধরে ব্যবহার করি না। আমি গত 20 বছরে ভেবে দেখেছি যে কেউ সম্ভবত এমন কিছু তৈরি করেছেন যা যুক্তিযুক্তভাবে জনপ্রিয়, কোডে সুন্দর এবং সংকলন করে।

উচ্চ পারফরম্যান্স সংকলিত কোড লেখার জন্য সি এর আর কোন আধুনিক বিকল্প নেই?

সি ++ যদি 15 বছর আগে এর চেয়ে আলাদা প্রাণী হয় তবে আমি এটি বিবেচনা করব, আমার ধারণা এটির কিছু সহজাত সমস্যা আছে বলে আমার ধারণা ছিল।

সমান্তরালতা গুরুত্বপূর্ণ হবে, তবে সম্ভবত একাধিক মেশিন জুড়ে নয়।


21
আধুনিক সি ++ সি এর তুলনায় মূলত আলাদা garbage এটি জাভা বা সি # এর মতো সি এর তুলনায় অনেক বেশি তুলনীয়, এতে আবর্জনা সংগ্রহের পরিবর্তে নির্জনবাদী ধ্বংসের বৈশিষ্ট্য রয়েছে এবং এটি কোনও ভিএমতে চালিত হয় না বা পরিচালিত না হওয়ার কারণে এটি অপরিজ্ঞাত আচরণও করে except পরিবেশ। আপনার অন্যান্য বিকল্প হ'ল ডি, যা একটি শালীন ভাষা, তবে গ্রন্থাগার এবং সমর্থনের ক্ষেত্রে এখনও অপরিণত।
চার্লস সালভিয়া

11
আপনি কি "পারফরম্যান্স সমালোচনা করবেন" অংশটি বিশদভাবে বলতে পারেন? কেন এটি সমালোচনা হবে? আপনি এখনও কিছু পরিমাপ করেছেন?
জেস্পের ই

3
১৫ বছরের কম্পিউটারের শর্ত হিসাবে এটি দীর্ঘকাল যাবত এরিকসনের মতো মানুষ তাদের এম্বেডড সিস্টেমে বিতরণকৃত, দোষ-সহনশীল, নরম-বাস্তব-সময়, নন-স্টপ অ্যাপ্লিকেশনগুলিকে সমর্থন করার জন্য এর্লংয়ের মতো কার্যকরী ভাষা ব্যবহার করে চলেছে ! কেবল সি ++ আপনাকে নিজের পছন্দসই পারফরম্যান্স দিতে পারে বলে মনে করবেন না, আপনি সমস্যার জন্য আরও হার্ডওয়ার ছুঁড়ে ফেলা এবং অন্য ভাষার সাহায্যে নিজেকে প্রচুর প্রয়োগের সময় সাশ্রয় করতে পারেন be
মার্ক বুথ

5
@ জেরেমিফ্রান্স: তবে আপনি মিথ্যা অনুমানের ভিত্তিতে প্রশ্ন জিজ্ঞাসা করছেন, সেই পারফরম্যান্স => স্থিতিশীল সংকলন।
ভের্টেক

4
এটির জন্য মূল্যবান, হাস্কেল বর্তমানে বেশিরভাগ ক্ষেত্রে সি ++ এর পরিবর্তে আমার প্রতিস্থাপন হিসাবে কাজ করে।
জন পুর্ডি

উত্তর:


54

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

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

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

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


5
আমি আনুষ্ঠানিক অর্থে সি কার্যকারিতাটি "অবহেলিত" হিসাবে বলব না - কেবলমাত্র সি লাইব্রেরির ফাংশন, কাঁচা পয়েন্টার বা সি-অ্যারে ব্যবহারের প্রায় কোনও কারণ নেই।
চার্লস সালভিয়া

20
'পারফরম্যান্সের জন্য সংকলন প্রয়োজন' মিথ্যা অনুমানের বিরুদ্ধে কথা বলার জন্য +1।
টেলাস্টিন

3
@gbjbaanb উইন্ডোজ এর অধীনে ভিজুয়াল স্টুডিও এবং মিনজিডব্লিউয়ের সাথে সংকলন করার চেষ্টা করুন এবং এর সাথে সৌভাগ্য: | এমন কোনও ব্যক্তিকে বোঝানোর চেষ্টা করুন যা আপনাকে এই সরঞ্জামগুলির একটি দিয়ে সংকলিত একটি সংকলিত গ্রন্থাগার দেয় যা এবিআই সম্পর্কে কিছুই জানে না যে সে ভুল, এবং সে আপনাকে সেই লাইব্রেরির উত্স প্রদান করবে বা কীভাবে পুনরায় সংকলন করতে হবে এবং সঠিক চশমা দিতে হবে । ভয়াবহতা, কখনও কখনও।
ব্যবহারকারী 827992

5
@ প্যাকরোম্যান: আপনি সি ++ তে ছোট ছোট প্রোগ্রাম লিখতে পারেন এবং সেগুলি সি এর চেয়ে আরও নিরাপদে লিখতে পারেন
কেভিন cline 2

3
@ জেবিআরওয়িলকিনসন যতদূর আমি অবগত, উদ্দেশ্যমূলক-সি এর জনপ্রিয়তা অ্যাপলের প্ল্যাটফর্মের বাইরে নেই।
zxcdw

19

এছাড়াও অ্যাডা রয়েছে , যা স্থানীয় কোডের সাথে সংকলন করে, এবং এটি তার স্ট্যান্ডার্ড লাইব্রেরির সীমার মধ্যে বিভিন্ন প্ল্যাটফর্ম জুড়ে বহনযোগ্য। ভাষাটি সর্বাধিক সাম্প্রতিক ভাষা স্ট্যান্ডার্ড আপডেটের সাথে চলছে (অ্যাডা 2012 হিসাবে পরিচিত) with

অ্যাডা সম্পর্কে অপরিচিতদের জন্য দ্রুত সংক্ষিপ্তসার:

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

1
অ্যাডা টাস্কগুলি (সমান্তরালতা!) উল্লেখ করবেন না
এনডাব্লুএস

6
+1: আমি কয়েকটি অ্যাডা শিখার চেষ্টা করেছি এবং আমি মনে করি এটি একটি খুব দৃust় এবং পরিষ্কার ভাষা। দুঃখের বিষয় যে অন্যান্য প্রোগ্রামিং ভাষার জন্য এতটা কাজ নেই।
জর্জিও

3
ভাল উল্লেখ আছে, আমি আরও কিছু 'আধুনিক' খুঁজছিলাম কিন্তু আমি অ্যাডা সম্পর্কে ভুলে গিয়েছিলাম
জেরেমি ফরাসি

4
@ জেরেমি ফরাসি: আপনি আরও 'আধুনিক' ভাষায় এমন কোন বৈশিষ্ট্য সন্ধান করছেন যা অ্যাডা অফার করে না?
জর্জিও

17

সি ++ যদি 15 বছর আগে এর চেয়ে আলাদা প্রাণী হয় তবে আমি এটি বিবেচনা করব, আমার ধারণা এটির কিছু সহজাত সমস্যা আছে বলে আমার ধারণা ছিল।

15 বছর আগে, কোনও সি ++ স্ট্যান্ডার্ড ছিল না। দ্বিতীয়টি প্রকাশিত হয়েছে গত বছর। সি ++ সেরা অনুশীলনগুলি 98 স্ট্যান্ডার্ড প্রকাশের পরে 5 বছরে অনেক পরিবর্তিত হয়েছিল এবং 11 টি প্রকাশের সাথে তারা আবার পরিবর্তন করছে।


12

লোকেরা কেন সবসময় নতুন ভাষা অনুসন্ধানে জিদ করে?

সি ++:

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

সি ++ এর একমাত্র নেতিবাচকতা হল আপনাকে কিছুটা শিখতে হবে। এটাই.

এক বা একাধিক ভাষাগুলির সাথে এর তুলনা করুন:

  • সংক্ষিপ্তভাবে সমর্থিত (ওসিএমএল, ফোর্টরান, ...)
  • ধীর (জাভা, জাভাস্ক্রিপ্ট)
  • পরীক্ষামূলক (সিলভারলাইট)
  • চলন্ত লক্ষ্য (। নেট 1/2/3/4/5? এখন কোনটি এখন শেষ?)
  • প্ল্যাটফর্ম লকড (। নেট)
  • দুর্বল কাঠামো সমর্থন (ফোর্টরান)
  • ছোট সম্প্রদায় রয়েছে (শীর্ষ দশের বাইরে কিছু)
  • সমস্যা সমাধানের জন্য দুঃস্বপ্ন হয় (উচ্চ-স্তরের বোকা-প্রমাণ ধারণা এবং স্টাফ সহ যে কোনও কিছু)
  • গ্রাহক মেশিনে প্রিন্টিনেলেশনের 500MB প্রয়োজন (JVM / .NETVM)

আইএমএইচও, আমরা যত কম ভাষা ব্যবহার করব এবং সমর্থন করব, পরিস্থিতি তত ভাল হবে।

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

আমি জানি লোকেরা এটিকে কমিয়ে দেবে, তবে এটি সম্পর্কে সত্যিই ভাবুন।


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

20
গতিশীল ভাষাগুলির সাথে তুলনা করে খুব অভিব্যক্তিপূর্ণ এবং খুব গতিশীল সাধারণ সি ++ বৈশিষ্ট্যের মতো শোনাচ্ছে না।
ভের্টেক

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

13
@gbjbaanb আমি একজন সি ++ প্রোগ্রামার। আবার, আমি মনে করি না যে সি ++ সহজ। এবং এই মন্তব্যের থ্রেডটিও সি ++ চ্যাট থেকে কিছুটা নতুন রূপ পেয়েছে। সুতরাং এটি যে না। এবং সি ++ গ্যাটাচস এবং অন্যান্য ভাষার গোট্যাচের মধ্যে পার্থক্য হ'ল যদি আপনি অন্য ভাষাতে সেগুলি সম্পর্কে না জানেন তবে আপনি সম্ভবত ভাল থাকবেন। সি ++ এ, আপনি টোস্ট আর এমনকি যদি আপনি তাদের সম্পর্কে জানেন, আপনি কি এখনও একটি একক ত্রুটি (আজ আবার আমার ঘটেছে) জন্য কম্পাইল ত্রুটি বিভিন্ন পর্দা পৃষ্ঠাগুলি পেতে পারেন। এবং ত্রুটিটি ঠিক করার জন্য সহজ হলেও (টাইপো), সমস্ত কিছু পার্স করতে সময় লাগে to
কনরাড রুডল্ফ

6
একটি জনপ্রিয় ভাষা কখন ভাল হয়েছে? পিএইচপি অত্যন্ত জনপ্রিয় এবং কোনও গুরুতর ব্যক্তিও এটি "ভাল" ভাষা এমনকি তার কুলুঙ্গি জন্য মনে করে না। জনপ্রিয় ভাষাগুলি সম্পর্কে কেবলমাত্র "ভাল" জিনিসটি হ'ল নির্দিষ্ট ডোমেনগুলিকে প্রোগ্রাম করা আরও সহজ করার জন্য প্রচুর গ্রন্থাগার রয়েছে C সি ++ নিজেই হতাশায় ভরা।
weberc2

11

সি / সি ++ বরং দাঁতে দীর্ঘ দীর্ঘ .... এটি একটি ভাল জিনিস । এ থেকে বোঝা যায় যে এগুলি যথেষ্ট পরিমাণে নকশাকৃত (আহেম) করা হয়েছিল যে তারা এখনও খুব ব্যবহারযোগ্য, বহু লোক এগুলিকে দৈনন্দিন কাজের জন্য ব্যবহার করে এবং আপনি বিকাশকারীদের একটি বিশাল সংখ্যক বিশেষজ্ঞ খুঁজে পেতে পারেন experts পরিপক্কতা মূল্যবান হওয়ার মতো জিনিস।

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

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


16
আমি মনে করি সি এবং সি ++ সফটওয়্যার ডিজাইনের বিষয়ে হোয়েরের মন্তব্যটির উদাহরণ দিয়েছেন: হয় এটিকে এত সহজ করুন যে স্পষ্টত কোনও ঘাটতি নেই, বা এটিকে এত জটিল করে তুলুন যে কোনও স্পষ্ট ঘাটতি নেই।
টিএমএন

1
কোনও ভাষা কতটা পুরানো বা renোকানোই না যায়, কোনও ধরণের বাফার কারণে বারবার সুরক্ষা দুর্বলতা কীভাবে একটি "ভাল জিনিস" ব্যবহার করে? এবং, বারবার অপব্যবহারের পরে প্রতিষ্ঠিত বিবাহের ধারাবাহিকতার বিতর্ক করার চেয়ে এটি কি আসলেই আলাদা?
ব্যবহারকারী 2864740

@ ইউজার ২6476440৪০ আপনি যা পরামর্শ দিচ্ছেন তা হ'ল বিবাহবিচ্ছেদ হওয়া কারণ স্ত্রী বৃদ্ধা এবং আপনি একটি নতুন, উত্তেজনাপূর্ণ মডেল চান ... আমি বলছি আপনার কাছে যা আছে তার সাথে আপনি লেগে থাকুন কারণ আপনি দুর্বোধ্য এবং দুর্বলতা জানেন। নতুন, শীতল, ভাষাগুলির মধ্যে কতটি বাফার ওভারফ্লোর মতো সমস্যার সমাধান করে এবং তারপরে ওভারফ্লোয়ার বাফারগুলির সূক্ষ্ম উপায়গুলি সন্ধান করতে পারে? তাহলে আরও ভাল কী - অলস না হয়ে বা সঠিক নির্মাণটি ব্যবহার না করে আপনি যে ওভারফ্লো এড়াতে পারেন বা যেটি আপনি পড়েছেন সে কারণেই আপনি জানেন না যে সেখানে ছিল?
gbjbaanb

@gbjbaanb না, আমি কখনও তা বলিনি। আমি পরিস্থিতি প্রসঙ্গে উন্নতি না করায় ক্ষতির জন্য বিশেষত একটি দৃষ্টান্ত আঁকছিলাম । আমি সাধারণত বেশ যুক্তিবাদী এবং ট্রেন্ডিং বিষয় বা সরঞ্জামগুলির "ফ্যানবোই" নির্বাচনের প্রবণতা না (এটি কেবল আমার প্রকৃতি)। তদতিরিক্ত, সি এবং সি ++ বিভিন্ন ভাষা; তবুও তারা উভয়ই একই কম্বলতার কারণে যুক্তিযুক্ত। এবং এই যেমন সমস্যা।
ব্যবহারকারী 2864740

8

সি ++ এর বর্তমান মান সি ++ 11 , যা ২০১১ সালে প্রকাশিত হয়েছিল So তাই এটি 20 বছরের পুরানো নয় not এবং এর মধ্যে রয়েছে অনেক মানক। তাদের প্রত্যেকটি অসংখ্য কর্মক্ষমতা উন্নতি প্রবর্তন করছে।

সংকলকগুলিও ক্রমাগত উন্নতি করে চলেছে। তারা আগের চেয়ে তুলনামূলকভাবে অনুকূল ছিল।

এক্সিকিউটেবল ফর্ম্যাটগুলিও উন্নত হয়েছে, 20 বছর আগে আপনি a.out করেছিলেন , এখন আপনার ELF আছে

সামগ্রিকভাবে, 20 বছরের মধ্যে সি ++ পরিবর্তন হয়নি এমন পরামর্শ সত্য থেকে আর হতে পারে না।

এছাড়াও, মনে রাখবেন যে সি এবং সি ++ খুব আলাদা ভাষা।


2
আমার ধারণা ছিল যে 20 বছর আগে প্রথম ধারণা করা হয়েছিল এমন কিছুতে অন্তর্নিহিত স্থাপত্য সীমাবদ্ধতা থাকবে যা কেবল একটি ফাঁকা স্লেটের সাহায্যে উন্নত করা যেতে পারে। আমি মনে করি এই ধারণাটি ভুল হতে পারে।
জেরেমি ফরাসী

4
@ জেরেমিফ্রঞ্চ: x86 আর্কিটেকচারের মতো?
টিএমএন

2
@ টিএমএন এটি প্রমাণ করে বা আমার অনুমানকে অস্বীকার করে?
জেরেমি ফরাসী

6
মূল x86 আর্কিটেকচারটি 8080 এবং পিছনে 68000 এবং NS32032 এর সাথে প্রতিযোগিতা করার জন্য বৈশিষ্ট্যগুলির একটি সেটগুলির সাথে পিছনের সামঞ্জস্যতার মধ্যে একটি বাজে আপোষ ছিল। বিভাগযুক্ত মেমরি ("দূর" এবং "কাছাকাছি" পয়েন্টার সহ), কেবলমাত্র 4 সাধারণ-উদ্দেশ্য রেজিস্টার, ভেরিয়েবল-দৈর্ঘ্য নির্দেশের এনকোডিং, জেএমপি নির্দেশের 50 টিরও বেশি স্বাদ, একাধিক সংক্ষিপ্ত-ত্রি-রাষ্ট্রীয় বাসের ... এবং এখনও, আজ একই অনেকগুলি "উচ্চতর" ক্লিন-স্লেট ডিজাইনগুলি (আলফা, এমআইপিএস, পাওয়ারপিসি) এটি স্থানান্তরিত করতে ব্যর্থ হওয়ার পরে, বেসিক ডিজাইনটি আগের চেয়ে আরও শক্তিশালী হচ্ছে।
TMN

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

6

আমি এই ভাষার কোনও বড় বিশেষজ্ঞ নই, তবে আমি মনে করি ওক্যামলটি দেখার জন্য একটি আকর্ষণীয় বিকল্প হতে পারে।

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


এই উত্তর কীভাবে উন্নত করা যায় দয়া করে নীচের দিকে দয়া করে কোনও ইঙ্গিত দিতে পারেন? ধন্যবাদ।
জর্জিও

3

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


2
প্রতিটি ফিনান্স জব আমি দেখেছি সি / সি ++ বিকাশকারীদের চাই, জাভা নয়। জাভা সম্পর্কিত অভিজ্ঞতা থেকে, আপনি এটির মধ্যে বেশিরভাগ হার্ডওয়্যার নিক্ষেপ না করে আমি উচ্চ পারফরম্যান্সের কোনও দেখতে পাচ্ছি না।
gbjbaanb

ওয়াল স্ট্রিটে এবং মার্কিন যুক্তরাষ্ট্র ও যুক্তরাজ্যের বিভিন্ন বিনিয়োগ ব্যাংকগুলিতে প্রচুর জাভা ট্রেডিং সিস্টেম চালু রয়েছে। এটি শিকাগো মার্কেন্টাইল এক্সচেঞ্জেও বেশ ভারী ব্যবহৃত হয়েছে।
টিএমএন

3

আপনি যখন বলেন যে আপনার প্রকল্পটি পারফরমেন্স সংবেদনশীল, আপনি কি এর কোড কোডের প্রতিটি লাইনকে বোঝাতে চান? বা, স্বাভাবিকের মতো, এর চেয়েও কম শতাংশ যা পারফরম্যান্স সমালোচনামূলক, যখন এর বাকী অংশটি আপনার মিল ব্যবসায় কোডের সাধারণ রান?

আপনি তার উত্তর দেওয়ার পরে, আপনার প্রকল্পের জন্য আরও বড় ঝুঁকিটি কী: শেষ ফলাফলটি খুব ধীর, বা আপনি কখনই প্রথম স্থানে শেষ করেন না?

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


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

6
@ কোডার জাভাতে একটি এফএফআই (জেএনআই) রয়েছে যা আপনাকে আপনার পছন্দসই ভাষায় 'সর্বনাশ' করতে দেয়। সুতরাং আপনি যদি ইন্টারফেসগুলি ভালভাবে ডিজাইন করে থাকেন তবে আপনি জাভা প্রয়োগটি একটি নেটিভের সাথে প্রতিস্থাপন করতে পারেন। জাভা প্ল্যাটফর্ম ভাল চিন্তা করা হয়।
কে.স্টেফ

1

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


1

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

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

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


0

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

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