কোড স্নিপেটে কোন প্রোগ্রামিং ভাষা ব্যবহৃত হয় তা সনাক্ত করার সর্বোত্তম উপায় কী হবে?
কোড স্নিপেটে কোন প্রোগ্রামিং ভাষা ব্যবহৃত হয় তা সনাক্ত করার সর্বোত্তম উপায় কী হবে?
উত্তর:
আমি মনে করি স্প্যাম ফিল্টারগুলিতে ব্যবহৃত পদ্ধতিটি খুব ভালভাবে কাজ করবে। আপনি স্নিপেটকে কথায় বিভক্ত করলেন। তারপরে আপনি এই শব্দের উপস্থিতিগুলি পরিচিত স্নিপেটের সাথে তুলনা করুন এবং আপনার স্নাতক প্রতিটি ভাষার জন্য এই স্নিপেট এক্স ভাষায় লিখিত হওয়ার সম্ভাবনাটি গণনা করুন।
http://en.wikipedia.org/wiki/Bayesian_spam_filtering
আপনার যদি বেসিক মেকানিজম থাকে তবে নতুন ভাষা যুক্ত করা খুব সহজ: নতুন ভাষায় কয়েকটি স্নিপেটের সাহায্যে সনাক্তকারীকে প্রশিক্ষণ দিন (আপনি এটি একটি ওপেন সোর্স প্রকল্প খাওয়াতে পারেন)। এইভাবে এটি শিখেছে যে "সিস্টেম" সি # স্নিপেটে এবং রুবি স্নিপকেটে "পুটস" প্রদর্শিত হতে পারে।
ফোরাম সফ্টওয়্যারটির কোড স্নিপেটগুলিতে ভাষা সনাক্তকরণ যুক্ত করার জন্য আমি আসলে এই পদ্ধতিটি ব্যবহার করেছি। অস্পষ্ট ক্ষেত্রে ব্যতীত এটি 100% সময় কাজ করেছিল:
print "Hello"
আমাকে কোডটি সন্ধান করুন।
আমি কোডটি খুঁজে পেলাম না তাই আমি একটি নতুন তৈরি করেছি। এটি কিছুটা সরল কিন্তু এটি আমার পরীক্ষার জন্য কাজ করে। বর্তমানে আপনি রুবি কোডের চেয়ে পাইথন কোডটি বেশি খাওয়ান তবে সম্ভবত এই কোডটি বলে:
def foo
puts "hi"
end
পাইথন কোড (যদিও এটি সত্যই রুবি)। এটি কারণ পাইথনের একটি def
কীওয়ার্ডও রয়েছে। সুতরাং যদি এটি def
পাইথনে 1000x এবং def
রুবিতে 100x দেখে থাকে তবে এটি আজও পাইথন বলতে পারে puts
এবং end
এটি রুবি-নির্দিষ্ট। আপনি প্রতি ভাষা হিসাবে দেখা শব্দের উপর নজর রেখে এবং যে কোনও জায়গায় ভাগ করে (বা প্রতিটি ভাষায় এটিকে সমান পরিমাণে কোড খাওয়ানোর মাধ্যমে) এটি ঠিক করতে পারেন।
আমি এটি আপনাকে সাহায্য করে আশা করি:
class Classifier
def initialize
@data = {}
@totals = Hash.new(1)
end
def words(code)
code.split(/[^a-z]/).reject{|w| w.empty?}
end
def train(code,lang)
@totals[lang] += 1
@data[lang] ||= Hash.new(1)
words(code).each {|w| @data[lang][w] += 1 }
end
def classify(code)
ws = words(code)
@data.keys.max_by do |lang|
# We really want to multiply here but I use logs
# to avoid floating point underflow
# (adding logs is equivalent to multiplication)
Math.log(@totals[lang]) +
ws.map{|w| Math.log(@data[lang][w])}.reduce(:+)
end
end
end
# Example usage
c = Classifier.new
# Train from files
c.train(open("code.rb").read, :ruby)
c.train(open("code.py").read, :python)
c.train(open("code.cs").read, :csharp)
# Test it on another file
c.classify(open("code2.py").read) # => :python (hopefully)
$
, তাই সম্ভবত আপনার শব্দের সীমানায় বিভক্ত হওয়া উচিত নয় , কারণ $
ভেরিয়েবলটি থাকা উচিত। মত অপারেটর =>
এবং :=
একটি একক টোকেন হিসাবে আটকে একসঙ্গে হতে হবে, কিন্তু OTH আপনি সম্ভবত উচিত প্রায় বিভক্ত {
গুলি কারণ তারা সবসময় তাদের নিজস্ব দাঁড়ানো।
অন্যদের দ্বারা সমাধান করা ভাষা সনাক্তকরণ:
ওহলো'র পদ্ধতি: https://github.com/blackducksw/ohcount/
গিথুব এর পদ্ধতি: https://github.com/github/linguist
আপনি এখানে কিছু দরকারী উপাদান খুঁজে পেতে পারেন: http://alexgorbatchev.com/wiki/SyntaxHighlitter । অ্যালেক্স কীভাবে বিভিন্ন সংখ্যক বিভিন্ন ভাষার পার্স করতে পারবেন এবং কী সিনট্যাক্স উপাদানগুলি কী তা নির্ধারণ করতে অনেক সময় ব্যয় করেছেন।
গেসল্যাং সম্ভাব্য সমাধান:
http://guesslang.readthedocs.io/en/latest/index.html
সোর্স ক্লাসিফায়ার এছাড়াও রয়েছে:
https://github.com/chrislo/sourceclassifier/tree/master
আমি চিহ্নিত করতে পারি না এমন একটি ব্লগ নিবন্ধে কিছু কোড সন্ধান করার পরে আমি এই সমস্যায় আগ্রহী হয়ে উঠি। এই প্রশ্নের উত্তর যুক্ত করা যেহেতু "প্রোগ্রামিংয়ের ভাষা চিহ্নিত করুন" এর জন্য এই প্রথম অনুসন্ধানের জন্য হিট হয়েছিল।
এটি খুব কঠিন এবং কখনও কখনও অসম্ভব। এই সংক্ষিপ্ত স্নিপেটটি কোন ভাষা থেকে এসেছে?
int i = 5;
int k = 0;
for (int j = 100 ; j > i ; i++) {
j = j + 1000 / i;
k = k + i * j;
}
(ইঙ্গিত: এটি বেশিরভাগের মধ্যে যে কোনও একটি হতে পারে))
আপনি বিভিন্ন ভাষা বিশ্লেষণ করার চেষ্টা করতে পারেন এবং কীওয়ার্ডগুলির ফ্রিকোয়েন্সি বিশ্লেষণ ব্যবহার করে সিদ্ধান্ত নেওয়ার চেষ্টা করতে পারেন। যদি কোনও পাঠ্যের কিছু নির্দিষ্ট ফ্রিকোয়েন্সিগুলির সাথে কীওয়ার্ডের কয়েকটি সেট উপস্থিত হয় তবে ভাষা জাভা ইত্যাদি হতে পারে বলে মনে হয় তবে আপনি পুরোপুরি বোকা প্রমাণ হিসাবে এমন কোনও কিছু পাবেন বলে আপনি মনে করেন না, যেমন আপনি সি হিসাবে একই নাম পরিবর্তন করতে পারেন as জাভাতে কীওয়ার্ড হিসাবে এবং ফ্রিকোয়েন্সি বিশ্লেষণ বোকা হবে।
যদি আপনি জটিলতার মধ্যে এটি খাঁজ নেন তবে আপনি কাঠামোগুলি সন্ধান করতে পারেন, যদি কোনও নির্দিষ্ট কীওয়ার্ড সর্বদা অন্যটির পরে আসে তবে এটি আপনাকে আরও ক্লু পেতে পারে। তবে এটি ডিজাইন এবং বাস্তবায়ন করা আরও অনেক কঠিন হবে।
একটি বিকল্প ব্যবহার করা highlight.js , যা সঞ্চালিত সিনট্যাক্স হাইলাইট কিন্তু ভাষা সনাক্ত করতে হাইলাইট প্রক্রিয়ার সাফল্য হার ব্যবহার করে। নীতিগতভাবে, কোনও সিনট্যাক্স হাইলাইটার কোডবেস একইভাবে ব্যবহার করা যেতে পারে তবে হাইলাইট.জেএস সম্পর্কে দুর্দান্ত বিষয়টি হল ভাষা সনাক্তকরণকে একটি বৈশিষ্ট্য হিসাবে বিবেচনা করা হয় এবং এটি পরীক্ষার উদ্দেশ্যে ব্যবহৃত হয় ।
আপডেট: আমি এটি চেষ্টা করেছিলাম এবং এটি খুব ভাল কাজ করে না। সংকুচিত জাভাস্ক্রিপ্ট একেবারে বিভ্রান্ত করেছে, অর্থাত টোকেনাইজার সাদা স্থান সংবেদনশীল। সাধারণত, হাইলাইট হিটগুলি গণনা করা খুব নির্ভরযোগ্য বলে মনে হয় না। একটি শক্তিশালী পার্সার, বা সম্ভবত তুলনাহীন বিভাগ গণনা করা আরও ভাল কাজ করতে পারে work
প্রথমত, আমি কোনও ভাষার উদাহরণস্বরূপ কীওয়ার্ডগুলি অনুসন্ধান করার চেষ্টা করব
"package, class, implements "=> JAVA
"<?php " => PHP
"include main fopen strcmp stdout "=>C
"cout"=> C++
etc...
এটি আপনার কী ধরণের স্নিপেটের উপর নির্ভর করবে, তবে আমি এটিকে টোকেনাইজারের একটি সিরিজ দিয়ে চালিয়ে দেখব এবং কোন ভাষার বিএনএফ এটি বৈধ হিসাবে প্রকাশিত হয়েছে তা দেখতে পাবে।
দুর্দান্ত ধাঁধা
আমি মনে করি এটি সমস্ত ভাষা সনাক্ত করা অসম্ভব। তবে আপনি কী টোকনে ট্রিগার করতে পারেন। (নির্দিষ্ট সংরক্ষিত শব্দ এবং প্রায়শই ব্যবহৃত চরিত্রের সংমিশ্রণ)।
বেন একই রকম বাক্য গঠন সহ প্রচুর ভাষা রয়েছে। সুতরাং এটি স্নিপেটের আকারের উপর নির্ভর করে।
প্রিটিফাই একটি জাভাস্ক্রিপ্ট প্যাকেজ যা প্রোগ্রামিং ভাষা সনাক্তকরণের একটি ঠিক কাজ করে:
http://code.google.com/p/google-code-prettify/
এটি মূলত একটি সিনট্যাক্স হাইলাইটার, তবে সম্ভবত একটি স্নিপেট থেকে ভাষা সনাক্ত করার উদ্দেশ্যে সনাক্তকরণ অংশটি বের করার একটি উপায় রয়েছে।
আমার এটি দরকার তাই আমি নিজের তৈরি করেছি created https://github.com/bertyhell/CodeClassifier
সঠিক ফোল্ডারে একটি প্রশিক্ষণ ফাইল যুক্ত করে এটি খুব সহজেই প্রসারিত। সি # তে লেখা। তবে আমি কল্পনা করি যে কোডটি সহজেই অন্য কোনও ভাষায় রূপান্তরিত হয়।
আমি মনে করি না এটি সম্পাদন করার কোনও সহজ উপায় থাকবে। আমি সম্ভবত নির্দিষ্ট ভাষা / ভাষার শ্রেণীর জন্য স্বতন্ত্র চিহ্ন / সাধারণ কীওয়ার্ডগুলির তালিকা তৈরি করব (উদাহরণস্বরূপ সি-স্টাইল ভাষার জন্য কোঁকড়ানো বন্ধনী, বেসিক ভাষার জন্য ডিম এবং সাব কীওয়ার্ড, পাইথনের ডিএফ কীওয়ার্ড, ক্রিয়ামূলক ভাষার জন্য কী কীওয়ার্ড) । এরপরে আপনি এটিকে আরও সংকুচিত করতে বেসিক সিনট্যাক্স বৈশিষ্ট্যগুলি ব্যবহার করতে সক্ষম হতে পারেন।
আমি মনে করি ভাষার মধ্যে সবচেয়ে বড় পার্থক্য হল এর কাঠামো। সুতরাং আমার ধারণাটি হ'ল সমস্ত ভাষায় নির্দিষ্ট কিছু সাধারণ উপাদানগুলি দেখতে এবং সেগুলি কীভাবে পৃথক হয় see উদাহরণস্বরূপ, আপনি জিনিসগুলি বাছাই করতে রেজিজেস ব্যবহার করতে পারেন যেমন:
এবং সম্ভবত কিছু অন্যান্য জিনিস যা বেশিরভাগ ভাষায় থাকতে হবে। তারপরে একটি পয়েন্ট সিস্টেম ব্যবহার করুন। যদি রেজেক্সটি পাওয়া যায় তবে প্রতিটি উপাদানকে সর্বাধিক 1 পয়েন্টে পুরষ্কার দিন। স্পষ্টতই, কিছু ভাষা ঠিক একই বাক্য গঠন ব্যবহার করবে (লুপগুলির জন্য প্রায়শই এর মতো লেখা হয়)for(int i=0; i<x; ++i)
এমনভাবে যে একাধিক ভাষাগুলি একই জিনিসটির জন্য পয়েন্ট করতে পারে তবে কমপক্ষে আপনি একে সম্পূর্ণ আলাদা ভাষা হওয়ার সম্ভাবনা হ্রাস করছেন)। তাদের মধ্যে কিছু বোর্ড জুড়ে স্কোর করতে পারে (উদাহরণস্বরূপ স্নিপেটে কোনও ফাংশন নেই) তবে পুরোপুরি ঠিক আছে।
এটি জুলসের সমাধান সহ একত্রিত করুন এবং এটি বেশ ভালভাবে কাজ করা উচিত। একটি অতিরিক্ত পয়েন্টের জন্য কীওয়ার্ডগুলির ফ্রিকোয়েন্সিও সন্ধান করতে পারে।
মজাদার. বিভিন্ন ফরম্যাটে পাঠ্য সনাক্ত করতে আমার একই কাজ। YAML, JSON, XML, বা জাভা বৈশিষ্ট্য? এমনকি সিনট্যাক্স ত্রুটি সহ, উদাহরণস্বরূপ, আমার জেএসওএনকে আত্মবিশ্বাসের সাথে এক্সএমএল থেকে আলাদা করা উচিত।
আমি বুঝতে পারি যে আমরা কীভাবে মডেল করি সমস্যাটি সমালোচিত। মার্ক যেমন বলেছিলেন, একক-শব্দ টোকেনাইজেশন প্রয়োজনীয় তবে সম্ভবত যথেষ্ট নয়। আমাদের বিগ্রাম, বা এমনকি ট্রিগার প্রয়োজন হবে। তবে আমি মনে করি যে আমরা প্রোগ্রামিং ভাষার দিকে নজর রাখছি তা জেনে আমরা সেখান থেকে আরও এগিয়ে যেতে পারি। আমি লক্ষ্য করেছি যে প্রায় কোনও প্রোগ্রামিং ভাষার দুটি ধরণের টোকেন রয়েছে - চিহ্ন এবং কীওয়ার্ড । প্রতীকগুলি তুলনামূলকভাবে সহজ (কিছু চিহ্ন প্রতীকগুলি ভাষার অংশ না হয়ে আক্ষরিক হতে পারে) সনাক্ত করতে। তারপরে বিগ্রাম বা প্রতীকগুলির ট্রিগারগুলি প্রতীকগুলির চারপাশে অনন্য সিনট্যাক্স কাঠামো বেছে নেবে। প্রশিক্ষণের সেটটি যথেষ্ট বড় এবং পর্যাপ্ত বৈচিত্রপূর্ণ হলে কীওয়ার্ডগুলি আরেকটি সহজ লক্ষ্য। সম্ভাব্য কীওয়ার্ডগুলির আশেপাশে একটি দরকারী বৈশিষ্ট্য বিগ্রাম হতে পারে। আরও একটি আকর্ষণীয় ধরণের টোকেন হ'ল হোয়াইটস্পেস। প্রকৃতপক্ষে যদি আমরা সাদা স্থানের মাধ্যমে সাধারণভাবে টোকনাইজ করি তবে আমরা এই তথ্যটি আলগা করব। আমি বলব, প্রোগ্রামিং ভাষা বিশ্লেষণের জন্য, আমরা হোয়াইটস্পেস টোকেন রাখি কারণ এটি সিনট্যাক্স কাঠামো সম্পর্কে দরকারী তথ্য বহন করতে পারে।
অবশেষে যদি আমি এলোমেলো বনের মতো শ্রেণিবদ্ধকারী চয়ন করি তবে আমি গিথুব ক্রল করব এবং সমস্ত সর্বজনীন উত্স কোড সংগ্রহ করব। উত্স কোড ফাইলের বেশিরভাগ ফাইল প্রত্যয় দ্বারা লেবেল করা যেতে পারে। প্রতিটি ফাইলের জন্য, আমি এলোমেলোভাবে খালি লাইনে এটি বিভিন্ন আকারের স্নিপেটে বিভক্ত করব। আমি তারপরে বৈশিষ্ট্যগুলি বের করব এবং লেবেল স্নিপেটগুলি ব্যবহার করে শ্রেণিবদ্ধকে প্রশিক্ষণ দেব। প্রশিক্ষণ শেষ হওয়ার পরে, শ্রেণিবদ্ধকারী যথার্থতা এবং পুনর্বিবেচনার জন্য পরীক্ষা করা যেতে পারে।
আমি যে সর্বোত্তম সমাধানটি পেয়েছি তা হ'ল একজন রুবি অন রেল অ্যাপে ভাষাতত্ত্ববিদ রত্ন ব্যবহার করা । এটি এটি করার একটি নির্দিষ্ট উপায়, তবে এটি কার্যকর হয়। এটি উপরে @Nisc দ্বারা উল্লিখিত হয়েছিল তবে আমি আপনাকে এটি ব্যবহারের জন্য আমার সঠিক পদক্ষেপগুলি বলব। (নীচের কয়েকটি কমান্ড লাইন কমান্ড উবুন্টুর জন্য নির্দিষ্ট তবে এটি অন্য ওএসের মধ্যে সহজেই অনুবাদ করা উচিত)
আপনার যদি এমন কোনও রেল অ্যাপ্লিকেশন থাকে যা অস্থায়ীভাবে আপনার সাথে জগাখিচুড়ি করতে আপত্তি না করে তবে আপনার কোড স্নিপেট প্রশ্নবিদ্ধ itোকাতে এতে একটি নতুন ফাইল তৈরি করুন। (যদি না থাকে তাহলে পাগল ইনস্টল সেখানে একটি ভাল গাইড এখানে যদিও উবুন্টু জন্য আমি সুপারিশ এই । তারপর চালানো rails new <name-your-app-dir>
এবং যে ডিরেক্টরির মধ্যে সিডি। আপনি যা চালানোর জন্য একটি পাগল অ্যাপ্লিকেশন সেখানে আগে থেকেই)।
এটি ব্যবহার করার জন্য আপনার কাছে রেল অ্যাপ্লিকেশন হওয়ার পরে, gem 'github-linguist'
আপনার গেমফিল যুক্ত করুন (আক্ষরিকভাবে Gemfile
আপনার অ্যাপ ডিরেক্টরিতে বলা হয়, কোনও এক্সট্রা নেই)।
তারপরে রুবি-ডেভ ইনস্টল করুন ( sudo apt-get install ruby-dev
)
তারপরে cmake ইনস্টল করুন ( sudo apt-get install cmake
)
এখন আপনি চালাতে পারেন gem install github-linguist
(যদি আইকু প্রয়োজনীয় বলে এমন কোনও ত্রুটি পেয়ে থাকেন তবে sudo apt-get install libicu-dev
আবার চেষ্টা করুন)
(আপনার উপর একটি কাজ করতে হবে sudo apt-get update
বা sudo apt-get install make
উপরেরটি sudo apt-get install build-essential
যদি কাজ না করে তবে)
এখন সবকিছু সেট আপ করা হয়। কোড স্নিপেটগুলি চেক করতে চাইলে আপনি এখন এটি ব্যবহার করতে পারেন। একটি পাঠ্য সম্পাদকটিতে, আপনার কোড স্নিপেট সন্নিবেশ করানোর জন্য যে ফাইলটি তৈরি করেছেন তা খুলুন (আসুন কেবল এটি বলা যাক app/test.tpl
তবে আপনার স্নিপেটের প্রসারণ জানেন তবে তার পরিবর্তে এটি ব্যবহার করুন you .tpl
আপনি যদি এক্সটেনশনটি জানেন না, তবে একটিটি ব্যবহার করবেন না )। এখন এই ফাইলটিতে আপনার কোড স্নিপেট আটকান। কমান্ড লাইনে যান এবং চালান bundle install
(অবশ্যই আপনার অ্যাপ্লিকেশনটির ডিরেক্টরিতে থাকতে হবে)। তারপরে রান করুন linguist app/test.tpl
(আরও সাধারণভাবে linguist <path-to-code-snippet-file>
)। এটি আপনাকে টাইপ, মাইম টাইপ এবং ভাষা বলবে। একাধিক ফাইলের জন্য (বা রুবি / রেলস অ্যাপ্লিকেশন সহ সাধারণ ব্যবহারের জন্য) আপনি bundle exec linguist --breakdown
নিজের অ্যাপ্লিকেশনটির ডিরেক্টরিতে চালাতে পারেন ।
এটি অনেক অতিরিক্ত কাজের মতো মনে হচ্ছে, বিশেষত আপনার যদি ইতিমধ্যে রেল না থাকে তবে আপনি যদি এই পদক্ষেপগুলি অনুসরণ করেন তবে রেল সম্পর্কে আপনাকে আসলে কিছু জানা উচিত নয় এবং আমি সত্যিই এটি সনাক্ত করার আরও ভাল উপায় খুঁজে পাইনি have কোনও ফাইল / কোড স্নিপেটের ভাষা।
আমি বিশ্বাস করি যে কোনও একক সমাধান নেই যা সম্ভবত কোনও একক স্নিপেটের উপর ভিত্তি করে কোনও স্নিপেট কী ভাষাতে রয়েছে তা সনাক্ত করতে পারে। কীওয়ার্ডটি নিন print
। এটি যে কোনও সংখ্যক ভাষায় হাজির হতে পারে, যার প্রত্যেকটিই বিভিন্ন উদ্দেশ্যে এবং বিভিন্ন বাক্য গঠন রয়েছে।
আমার কিছু পরামর্শ আছে আমি বর্তমানে আমার ওয়েবসাইটের জন্য একটি ছোট্ট কোডের টুকরো লিখছি যা প্রোগ্রামিং ভাষা সনাক্ত করতে ব্যবহৃত হতে পারে। অন্যান্য পোস্টগুলির মতো, এখানে প্রচুর প্রোগ্রামিং ভাষাগুলি থাকতে পারে যা আপনি কেবল শোনেননি, আপনি সেগুলির জন্য অ্যাকাউন্ট করতে পারবেন না।
আমি যা করেছি তা হ'ল প্রতিটি ভাষা কীওয়ার্ডের নির্বাচনের মাধ্যমে চিহ্নিত করা যায়। উদাহরণস্বরূপ, পাইথনকে বিভিন্ন উপায়ে সনাক্ত করা যায়। আপনি যদি ভাষা ব্যবহারের জন্য অবশ্যই 'অনন্য' বৈশিষ্ট্য বেছে নেন তবে এটি সম্ভবত সহজ। পাইথনের জন্য, আমি বিবৃতিগুলির সেট শুরু করতে কলোন ব্যবহার করার বৈশিষ্ট্যটি বেছে নিই, যা আমি বিশ্বাস করি যে এটি মোটামুটি অনন্য বৈশিষ্ট্য (আমি ভুল হলে আমাকে সংশোধন করি)।
যদি, আমার উদাহরণে, আপনি কোনও বিবৃতি সেট শুরু করার জন্য কোনও কোলন খুঁজে না পেয়ে থাকেন, তবে অন্য সম্ভাব্য বৈশিষ্ট্যের দিকে চলে যান, আসুন def
কোনও ফাংশন সংজ্ঞায়িত করতে মূল শব্দটি ব্যবহার করে বলি । এখন এটি কিছু সমস্যার কারণ হতে পারে, কারণ রুবি def
একটি ফাংশন সংজ্ঞায়িত করতে কীওয়ার্ডটিও ব্যবহার করে । দু'জনকে (পাইথন এবং রুবি) আলাদা করে বলার মূল চাবিকাঠিটি সেরা ম্যাচটি পেতে বিভিন্ন স্তরের ফিল্টারিং ব্যবহার করা। রুবি end
একটি ফাংশন শেষ করতে কীওয়ার্ডটি ব্যবহার করে , যেখানে পাইথনের কোনও ফাংশন শেষ করার জন্য কিছুই নেই, কেবল একটি ডি-ইনডেন্ট তবে আপনি সেখানে যেতে চান না। তবে আবার end
লুয়াও হতে পারে, মিশ্রণটিকে যুক্ত করার জন্য আরও একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ।
আপনি দেখতে পারেন যে প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি কেবলমাত্র খুব বেশি ওভারলে হয়। একটি ভাষায় মূল শব্দ হতে পারে এমন একটি কীওয়ার্ড অন্য ভাষায় কীওয়ার্ড হতে পারে। কীওয়ার্ডগুলির সংমিশ্রণ যা প্রায়শই একসাথে যায় জাভা যেমন public static void main(String[] args)
এই সমস্যাগুলি দূর করতে সহায়তা করে Using
আমি ইতিমধ্যে বলেছি এর মতো, আপনার সেরা সুযোগটি অপরটির থেকে আলাদা করার জন্য তুলনামূলকভাবে অনন্য কীওয়ার্ড বা কীওয়ার্ডের সেটগুলির সন্ধান করছে। এবং, যদি আপনি এটি ভুল হয়ে থাকেন তবে কমপক্ষে আপনার যেতে হবে।
এই সাইটটি ভাষাগুলি সনাক্তকরণে বেশ ভাল বলে মনে হচ্ছে, যদি আপনি প্রোগ্রামালিমে না করে কোনও ওয়েব রূপে একটি স্নিপেট পেস্ট করার দ্রুত উপায় চান: http://dpaste.com/