আধুনিক ওয়েব অ্যাপ্লিকেশন বিকাশের জন্য কেন জাভা ব্যবহার করা হচ্ছে না? [বন্ধ]


393

একজন পেশাদার জাভা প্রোগ্রামার হিসাবে, আমি বুঝতে চেষ্টা করেছি - আধুনিক ওয়েব অ্যাপ্লিকেশনগুলির জন্য জাভা সম্পর্কে ঘৃণা কেন?

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

আমি এই একই ওয়েব স্টার্টআপ সম্প্রদায়টি জাভা বিকাশকারীদের কাছে নেতিবাচকভাবে উল্লেখ করতে শুনেছি - কমবেশি বোঝায় যে তারা ধীর, সৃজনশীল নয়, পুরানো।

ফলস্বরূপ, আমি রুবি / রেলগুলি বেছে নেওয়ার জন্য ব্যয় করেছি, মূলত আমি কী অনুপস্থিত তা সন্ধান করতে। তবে আমি নিজের কাছে ভাবতে সাহায্য করতে পারি না, "প্রধানত আমার আপেক্ষিক অভিজ্ঞতার স্তরের কারণে" আমি যদি জাভা ব্যবহার করতাম তবে আমি এটি খুব দ্রুত করতে পারতাম।

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

যা আমাকে আমার প্রশ্নে নিয়ে আসে :

আধুনিক ওয়েব অ্যাপ্লিকেশনগুলিতে জাভা কেন ব্যবহার হচ্ছে না?

  • এটা কি ভাষার দুর্বলতা?

  • এটি কি জাভাটির একটি অন্যায় স্টেরিওটাইপ কারণ এটি প্রায় দীর্ঘকাল ধরে রয়েছে (এটি তার পুরানো প্রযুক্তির সাথে অন্যায়ভাবে যুক্ত হয়েছে, এবং এর "আধুনিক" দক্ষতার জন্য স্বীকৃতি পায় না)?

  • জাভা বিকাশকারীদের নেতিবাচক স্টেরিওটাইপ কি খুব শক্তিশালী? (জাভা আর "শান্ত" নেই)

  • অন্যান্য ভাষায় লিখিত অ্যাপ্লিকেশনগুলি কি নির্মাণে আরও দ্রুত, বজায় রাখা সহজ এবং সেগুলি আরও ভাল সম্পাদন করে?

  • জাভা কি কেবল এমন বড় বড় সংস্থাগুলি ব্যবহার করে যারা কোনও নতুন ভাষার সাথে খাপ খাইয়ে নিতে খুব ধীর হয়?


142
আমি মনে করি আপনি ভুল: এটি এখনও ব্যবহৃত হয়, এটি কেবল শীতল ফ্যাক্টরটি হারিয়েছে।

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

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

28
@ ফ্যালকন জাভা যখন প্রথম প্রবর্তিত হয়েছিল তখন শীতল ফিরে এসেছিল, সান জাভা হাইপ করার জন্য দুর্দান্ত কাজ করেছিল, হাইপটি ন্যায়সঙ্গত ছিল কিনা তা শীতল হওয়ার সাথে তার কিছু করার নেই বা না, প্রচুর শীতল জিনিস অকারণে হাইপ করা হয় are
মাহমুদ হোসাম

11
@ ফ্যালকন, আপনার জাভা ইই 6 6 তে জেএসএফ 2.0 দিয়ে ওয়েব অ্যাপ্লিকেশন তৈরি করা উচিত এবং এটি আপনার অভিজ্ঞতার সাথে তুলনা করুন। আপনি pleasantly বিস্মিত হতে পারে।

উত্তর:


174

আধুনিক দিনের শুরুগুলি যত তাড়াতাড়ি সম্ভব বাজারে আসতে হবে hit তাদের জাভা ওয়েব অ্যাপ্লিকেশন প্রকাশের জন্য তাদের প্রায় ছয় মাস ব্যয় করতে হবে না।

উদাহরণস্বরূপ টুইটারটি রেলস / রুবি ব্যবহার করে তৈরি করা হয়েছিল তবে এটি একবার অপ্রসারণযোগ্য হয়ে উঠলে তারা জেভিএমে স্থানান্তরিত করে।

উন্নয়নের প্রক্রিয়াটি উত্পাদনশীল নয় বলে উল্লেখ করবেন না: কোড (> সংকলন -> ফ্রেমওয়ার্কে থাকাকালীন মোতায়েন করুন (রেলস / জ্যাঙ্গো / গ্রিলস): পরীক্ষার সার্ভার চালান -> কোড -> জিনিস পরিবর্তন করুন এবং দেখুন কী ঘটে।

সুসংবাদটি হ'ল জেআরবেল আপনাকে তাত্ক্ষণিকভাবে কোডের পরিবর্তনগুলি দেখতে দেয়।


81
প্লে ফ্রেমওয়ার্কটিও রেল অন রুবেলের মতো, তবে জাভার জন্য। কোড -> আপনার ব্রাউজার আপডেট করুন।
জোনাস

34
কিছু ভুল ধারণা থেকে মুক্তি পাওয়ার চেষ্টা করুন। জাভা EE জাভা সার্ভার সাইডে একমাত্র জিনিস নয় যা অনেকে মনে করেন।
জোনাস

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

28
1) Eclipse ব্যবহার করে, টাইপ করার সাথে সংকলন ঘটে এবং আপনি খুব কমই লক্ষ্য করবেন। এছাড়াও, Eclipse এর মধ্যে টমক্যাট চালানো আমি এক সেকেন্ডের অধীনে একটি অ্যাপ্লিকেশন পুনরায় চালু করতে পারি। আমি আমার অ্যাপ্লিকেশনগুলি পুনরায় চালু করে খুব কমই বাধা পেয়েছি 2) কোন রূপালী বুলেট নেই, বন্ধুরা। রুবি বা কোনও ভাষা আপনাকে 10x দ্রুত তৈরি করে না। জাভা দেবের সমস্যাটি প্রায়শই সময় বাড়িয়ে দেয়, তবে আপনি কী করছেন তা যদি আপনি জানেন তবে আপনি <10 মিনিটের মধ্যে একটি প্রকল্পে কাজ করতে পারেন।
অ্যালেক্স

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

136

আমার অভিজ্ঞতায়, ওয়েব অ্যাপ্লিকেশনগুলির জন্য জাভা ছোট অ্যাপ্লিকেশনগুলির জন্য ওভারকিল। একটি ডাটাবেস টেবিল সহ একটি সাধারণ ব্লগ, উদাহরণস্বরূপ, অনেক সহজ কিছুতে করা যেতে পারে much

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

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


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

7
@ জালেন: আমার অভিজ্ঞতার কারণ এটি যে তারা কেবলমাত্র টিম এ এর ​​জন্য অ্যাডমিন ওয়েবস্পিয়ার, টিম বি এর জন্য টমক্যাট, টিম সি এর জন্য গ্লাসফিশ (বা অন্য কিছু) র পরিবর্তে সমস্ত কিছুর জন্য একটি অ্যাপ্লিকেশন সার্ভার প্রোগ্রাম বজায় রাখতে চান ... এবং আমি বুঝতে পারি যে খুব অনুভব করছি, তবে হ্যাঁ, এটি আমার জন্য হতাশও।
হতাশ

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

9
নতুন জাভা 6 ইই - বিশেষত ওয়েব প্রোফাইল - কিছু চমত্কার সহজ ওয়েব অ্যাপগুলির জন্য মঞ্জুরি দেয়।

4
@ থোরজ্বার্নআরভানএন্ডারসেন অ্যাপ্লিকেশনটি সহজ হতে পারে তবে ফ্রেমওয়ার্কটি বোঝা যায় না এবং পিঁপড়া এবং মাভেনের মতো প্রধান সরঞ্জামগুলিও বোঝা যায় না। নবজাতকের শেখার বক্ররেখা বিশাল এবং এক্রোনাইম স্যুপের নেস্টেড স্তরগুলি পূর্ণ, চশমাগুলির মধ্যে বিভ্রান্তি (যেমন জ্যাকস-আরএস) এবং ইমপ্লস (যেমন জ্যাকসন) এবং আরও অনেক কিছু। আপনি আসলে যা করছেন তা বুঝতে চাইলে সাধারণ কিছু করা খুব জরুরি complicated
ক্রেগ রিঞ্জার

135

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

ওয়েব ফ্রেমওয়ার্ক:

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

ব্যাটারি অন্তর্ভুক্ত নয়:

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

অনেকগুলি বিকল্প:

কিছু কারণে জাভাতে একই জিনিসটি করার বিভিন্ন উপায় রয়েছে বলে মনে হচ্ছে। উইকিপিডিয়া ( http://en.wikedia.org/wiki/Compistance_of_web_application_frameworks#Java ) এবং 23 টি ভিন্ন ওআরএম-এর ( http://en.wikedia.org/wiki/List_of_object- সম্পর্কিত সম্পর্কিত_ম্যাপিং_সোফটওয়্যার ) অনুযায়ী জাভা জন্য 38 টিরও বেশি ওয়েব ফ্রেমওয়ার্ক রয়েছে # জাভা ) কেবল কয়েকটি উদাহরণের নাম দিন। আপনি যদি অন্যান্য ভাষার দিকে তাকান তবে তাদের আরও যুক্তিসঙ্গত সংখ্যা রয়েছে। কিছু লোক মনে করেন যে প্রচুর বিকল্প থাকা ভাল জিনিস তবে এটি বিকাশকারী সম্প্রদায়টিতে প্রচুর অপচয় করার প্রচেষ্টা বাড়ে না, প্রত্যেকে একই চাকা পুনরায় উদ্ভাবন করছে, এবং আপনি যদি ভাষাটিতে নতুন ব্যক্তি হন তবে অনেকগুলি বিকল্প থেকে বেছে নেওয়া।

অ্যাপ সার্ভারগুলি:

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

অ্যাপ হোস্টিং:

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

বিকাশের সময়:

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

পাইথনে একই জিনিসটি করার জন্য অনেক কম বয়লারপ্লেট কোড রয়েছে, তাই আমি কোডটি বিকাশে কম সময় ব্যয় করি।

জাভা কেবলমাত্র অনেকগুলি অংশে ইঞ্জিনিয়ারড অনুভব করে, অনেক কিছু এপিআই এবং ইন্টারফেসগুলি আপনি যা করতে চান তা জটিল করার একমাত্র উপায়। এবং প্রত্যেকে এবং তাদের ভাই ভাবেন যে তারা একটি জাভা স্থপতি এবং এর ফলে এমন জটিল জটিল ব্যবস্থাগুলি তৈরি হয়েছে যা ব্যবহার করা এবং এর সাথে বিকাশ করা শক্ত।

আইডিই:

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

ORM:

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

টেমপ্লেট:

জাভাতে ওয়েব টেম্প্লেটিং সিস্টেমগুলি এতটা ভাল নয় এবং আমি মনে করি যে আমি সেগুলি সবই চেষ্টা করেছি (টাইলস, ফ্রিমার্কার, বেগ, ইত্যাদি)। তাদের বেশিরভাগই কেবলমাত্র প্রাথমিক কার্যকারিতা সরবরাহ করে এবং এটি নিয়ে কাজ করার জন্য একটি ব্যথা। পাইথনের দিকে, আমার দুটি প্রিয় জ্যাঙ্গো টেম্পলেট এবং জিনজা 2, তাদের টেম্প্লেটিং ইঞ্জিনে আমার প্রয়োজন হতে পারে এমন সমস্ত কিছু রয়েছে এবং এটি ব্যবহার করা সত্যিই সহজ।


10
আমি অনেক পয়েন্টে আপনার সাথে আছি, তবে কিছু বিষয়ে ইস্যু করুন। সংকলন / পরীক্ষার লুপ : গ্রহনের গতিশীল ওয়েব মডিউল এবং / অথবা জেআরবেল ব্যবহার করুন এবং এটি চলে গেছে; মহান। ভারীতা : JBoss AS 7 বেশ হালকা এবং দ্রুত। এবং আপনি যদি EE না চান তবে আপনি টমক্যাট বা জেটি ব্যবহার করতে পারেন যা খুব কমই আছে। পরীক্ষা : আরকিউলিয়ান হ'ল আমি যে কোনও ভাষায় ব্যবহার করেছি সেরা পরীক্ষার সরঞ্জাম, যদিও এটি কেবল ব্যবহারযোগ্য হওয়ার জন্য যথেষ্ট পরিপক্ক। নির্ভরতা নরক : শুধু মাভেন ব্যবহার করুন; এটি জাভা মানক এবং বাধ্যতামূলক অংশ হওয়া উচিত।
ক্রেগ রিঞ্জার

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

2
আমিও মনে করি আপনি একটি সমালোচনা পয়েন্টটি মিস করেছেন: শেখার বক্ররেখা এবং বাগগুলি সত্যই জিনিসগুলিকে ধীর করে দেয়।
ক্রেগ রিঞ্জার

@ ক্রেইগ্রিঞ্জার আমি গ্রহণের ডায়নামিক ওয়েব মডিউল বা জেআরবেল ব্যবহার করি নি, তাই আপনি ঠিক বলেছেন, এটি চলে গেছে।
কেন

2
আপনি যদি ইন্টেলিজিকে পছন্দ করেন তবে পাইচার্ম চেষ্টা করে দেখুন - এটি একই মূল উপর ভিত্তি করে।
টমলিন

94

স্টার্ট আপগুলি চকচকে চায়। চকচকে যাই হোক না কেন: আরআর, গ্রোভি, গ্রিলস, ওওপি ডাব্লু / পিএইচপি, ফুবার, উইবল, নার্ফ ইত্যাদি

এন্টারপ্রাইজ স্থিতিশীল, নির্ভরযোগ্য এবং স্কেলযোগ্য চায়: জাভা এবং .NET সেই বিলটি ফিট করে (যখন সঠিকভাবে করা হয়)।

বর্তমান গিগ: আর্থিক সেবা। প্ল্যাটফর্ম: কোল্ডফিউশন (মূলত একটি জাভা ট্যাগ লাইব্রেরি) এবং জাভা।

পূর্ববর্তী জিগস:

  1. শিক্ষা পরীক্ষার পরিষেবা - কোল্ডফিউশন
  2. উচ্চ ঝুঁকি বীমা - কোল্ডফিউশন এবং জাভা
  3. 401 কে - কোল্ডফিউশন এবং জাভা
  4. ভ্রমণ - জাভা ডাব্লু / অভ্যন্তরীণ কোল্ডফিউশন অ্যাপ্লিকেশন
  5. সিকিউরিটিজ - কোল্ডফিউশন (প্রাক জাভা সংস্করণ)

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

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


23
"401 কে কোম্পানির একটি বোন সংস্থা সক্ষম বিকাশকারীদের সাথে একটি নেট অ্যাপ্লিকেশন চালাচ্ছিল, অ্যাপ্লিকেশনটি প্রতি সপ্তাহে স্রেফ ক্র্যাশ করে চলেছিল finally অবশেষে তারা এটি জাভাতে রূপান্তরিত করে এবং স্থিতিশীলতা অর্জন করে।" Lol :), বিপরীত মামলার শুনেছে।
ডেন

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

48
আমার কাছে এটি বিতর্কিত বলে মনে হচ্ছে যে আপনি এই বাক্যটি কারণ এবং প্রভাব হিসাবে বর্ণনা করেছেন। জাভাতে রূপান্তর করুন = স্থায়িত্ব লাভ? আমরা সকলেই জানি কেন তাই নয়। এছাড়াও, সমস্ত শীতলফিউশন অভিজ্ঞতা সম্পর্কে দুঃখিত;)
জর্ডান

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

9
খুব উচ্চ-মানের জাভা ডেভস যা খুঁজে পাওয়া সহজ নয় - সত্যই।
luis.espinal

73

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


আমি মনে করি এটি পরিবর্তিত হয়েছে, যদিও এখন আপনি GAE এ বিনা মূল্যে জাভা ওয়েব অ্যাপ্লিকেশনগুলি হোস্ট করতে পারেন।
মাহমুদ হোসাম

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

9
এই জন্য +1। এটি জাভার চেয়ে পিএইচপি-র জন্য একটি সার্ভারে অনেকগুলি সাইট হোস্ট করা আরও সহজ এবং জাভাের চেয়ে পিএইচপি-র জন্য সস্তা ওয়েব হোস্টিং সমাধানগুলি খুঁজে পাওয়া আরও সহজ।
জোনাস

আপনি ঠিক @ মার্ক, স্থির।
সেবাস্তেঞ্জিগার

1
@Kibbee - Arvixe যে আমি কে ব্যবহার করা হয়। আমার ব্যক্তিগত এএসপি প্রো পরিকল্পনা রয়েছে।
জেটি

70

জাভা একেবারে হয় আধুনিক ওয়েবের এপ্লিকেশন ডেভেলপমেন্ট জন্য ব্যবহৃত। বিশেষত একবার আপনি ওয়েব অ্যাপ্লিকেশন বর্ণালীটির সামান্য বৃহত্তর / আরও জটিল / স্কেলযোগ্য প্রান্তে পৌঁছে যান।

আপনি যদি আধুনিক বিষয়ে আগ্রহী হন তবে উত্পাদনশীল সরঞ্জাম এবং ফ্রেমওয়ার্কগুলি একবার দেখুন:

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

সমস্ত নতুনত্বটি নতুন জেভিএম ভাষার স্থান সংঘটিত হওয়ার সাথে সাথে আমি ব্যক্তিগতভাবে সন্দেহ করি যে জাভা শেষ পর্যন্ত "সার্ভার-সাইড প্রোগ্রামিংয়ের সমাবেশকারী" হয়ে উঠবে।


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

7
একমত; আপনি জেএসএফ 2 ছাড়ার সাথে সাথে জাভা ইই 6 6 দুর্দান্ত এবং বুদ্ধিমান এবং উত্পাদনশীল কিছু ব্যবহার করুন। যদিও শেখার বক্ররেখা অপরিসীম
ক্রেগ রিঞ্জার

1
আপনি আধুনিক জাভা ওয়েব ফ্রেমওয়ার্কের তালিকায় আপনি টেপস্ট্রি 5 ( tapestry.apache.org ) যুক্ত করতে পারেন ।
নিম প্র্যাকস

@ ক্রেইগ্রিঞ্জার জেএসএফ সহজ। আপনার মন্তব্যটি নিজেই প্রশ্নের মতো পড়ে: একটি ধর্মীয়
অভিজাত

@ জওয়ান্টিং ওয়েল, তিন বছর হয়ে গেছে , সুতরাং এটি থেকে ডকুমেন্টেশন এবং বাহ্যিক সরঞ্জামগুলির ক্ষেত্রে কিছুটা উন্নতি হয়েছে। EE 6 স্ট্যাকটিতে যখন আমি এটির সাথে কাজ করছিলাম এটি ভয়ঙ্কর ভয়ঙ্কর ছিল, আরও যদি গ্লাস ফিশ 3 এবং এএস 7 সমর্থন করে
ক্রেগ

41

গুগল, অ্যামাজন বা লিংকডইন কি আধুনিক হিসাবে গণনা করে?

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

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

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

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

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

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

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

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

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

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

-

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

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


3
"ইঁদুরের বাসা যে সি # তে পরিণত হচ্ছে" এর বিশদটি জানাতে যত্নশীল?
XåpplI'-I0llwlg'I -

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

38

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

আমি কয়েকটি কমান্ড দিয়ে রেলগুলি (কেবল ডিবি অ্যাক্সেস নয়, তবে ভিউ এবং নিয়ন্ত্রণকারী) ব্যবহার করে একটি সিআরইউডি অ্যাপ তৈরি করতে পারি ।

(আমার মাথার উপরের অংশটি বন্ধ: নতুন প্রকল্প, সত্তা প্রতি 1 স্ক্যাফোল্ড কমান্ড, ডাটাবেস স্থানান্তর করতে 1 কমান্ড, সার্ভার শুরু করার জন্য 1 কমান্ড))

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

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


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

4
একটি শক্তিশালী কাঠামো, যেমন রেলগুলিও বোঝায় যে যদি কিছু খারাপভাবে প্রয়োগ করা হয় তবে বেশিরভাগ লোক এটিকে অন্য কোনও কিছু দ্বারা প্রতিস্থাপন করতে পারে না, কারণ সেই উপাদানটি কাঠামোর সাথে খুব শক্ত। জাভা থাকাকালীন, আমি যদি হাইবারনেট পছন্দ না করি, তবে আমি উদাহরণস্বরূপ কেয়িন বা জেপিএর মতো আরও কিছু ব্যবহার করতে পারি।
কোयोোট 21

2
যেহেতু কেউ জ্যাঙ্গোর সাথে লড়াই করছে, আমাকে কেবল এটি বলার অনুমতি দিন: কোयोোট 21 একেবারে ঠিক। আপনি বেসিক সিআরইউডি পেতে এবং পাঁচ মিনিটের মধ্যে পেতে পারেন, তবে দ্বিতীয়বার আপনি ব্যবসায়ের যুক্তি যুক্ত করা শুরু করবেন (যখন এই রেকর্ডটি আপডেট করা হয়, তখন এই টেবিলটিতে একটি রেকর্ড অবশ্যই প্রবেশ করাতে হবে, এবং ...) সিআরইউডিতে, আপনার সমস্যা আছে got ।
অ্যাথাস্টার

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

আপনি জাভাতে কয়েক মিনিটের মধ্যে রু ব্যবহার করে সিআরইউডি অ্যাপ্লিকেশন তৈরি করতে পারেন, গ্রিলের সাথে একই জিনিস (ঠিক জাভা নয়, তবে এখনও জেভিএম) প্লে ১.০ এর জেনারেটর / স্ক্যাফোল্ডিং ছিল, আমি অবাক হই যে এটি কোথায় গেছে ...
ইরান মেডান

24

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

অগ্রাধিকার তালিকার পারফরম্যান্স, স্কেলাবিলিটি এবং স্থায়িত্ব কিছুটা কম।

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

সুতরাং আমি মনে করি এই কারণগুলিই ওয়েবস্টার্টআপগুলি জাভা এড়িয়ে চলে।


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

4
@ অ্যালেক্স: Syntax sugarজাভা ব্যবহারিকভাবে ডিএসএল-এর জন্য ব্যবহার করা যাবে না, উদাহরণস্বরূপ, প্লে-এর কনফিগারেশন এবং রুটস ফাইল জাভা ফাইল নয়, এটি একটি বিদেশী বাক্য গঠন যা জাঙ্গোর সেটিংস.পি এবং ইউআরএল.পি বলার চেয়ে কম করে; কোন তালিকা বোঝার জন্য; গুরুত্বপূর্ণ ডেটাটাইপগুলি (যেমন মানচিত্র, তালিকা) ডিফল্টরূপে আমদানি করা হয় না; প্রতি-ফাইল-প্রতিমূর্তিগুলি এক-শ্রেণীর-প্রতি ফাইলটি সত্যিই এগিয়ে যায়; এবং জাভা API গুলি অযথা ভার্চুজের হয়ে থাকে। এছাড়াও, আপনি জিইটি / পোস্ট পরামিতি থেকে প্রাপ্ত স্ট্রিংগুলির মধ্যে স্যুইচ করার সময় আপনি এনাম ব্যবহার করতে পারবেন না।
মিথ্যা রায়ান

4
@alex আকর্ষণীয় আমি সি # তে সর্বত্র জেনেরিক ব্যবহার করার প্রবণতা রাখি - যদিও এটি বাইরে থেকে দেখছি, এটি সম্ভবত লামদাসের বর্ধিত কার্যকারিতার কারণে - সুতরাং আমার IRepository<T>সাথে একটি থাকতে পারে IQueryable<T> Where(Expression<Func<T, Boolean> Expression)। আমি ভাবছি লাম্বডাস এলে তারা কি জাভাতে আরও জনপ্রিয় হবে? এটি সম্ভবত একটি স্বাচ্ছন্দ্য অঞ্চলের জিনিস তবে জাভা কেবল ভারবস অনুভব করে - এবং অনেকটা আমার মতো 50 টি বিভিন্ন ধরণের গাড়ি নির্মানের জন্য যথেষ্ট পরিমাণ বিট সরবরাহ করা হয়েছে যার কোনও গ্যারান্টি ছাড়াই কোনও 2 অংশ একসাথে ফিট হতে পারে।
বেসিক

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

1
@ ব্র্যান্ডন আমি এটি দ্বিতীয় করব। আমি কখনও কখনও নোড বা পাইথন / জ্যাঙ্গোতে কোনও কনফিগার সমস্যা নিয়ে লড়াই করি নি not আমি আরআর নিয়ে ধৈর্য হারিয়েছি। আমাদের পিঁপড়া / এমভিএন / স্প্রিং / হাইবারনেট / গ্রহন নির্ভরতা-চালিত জাভা কোডবেস আপনি এমনকি কোডটি পাওয়ার আগেই একটি জাগ্রত দুঃস্বপ্ন।
এরিক রেপেন

18

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

বিকাশকারীদের কাছ থেকে আমি সবচেয়ে বড় অভিযোগ শুনি

  1. সিনট্যাক্সটি অনেক দীর্ঘ। কিছু লিখতে হবে আমাদের System.out.print লিখতে হবে। আপনি সম্পাদকের মতো সাধারণ VI ষ্ঠ ব্যবহার করতে পারবেন না এবং কয়েক ঘন্টার মধ্যে কোডের একটি কার্যকরী অংশটি লিখে ফেলতে পারেন।
  2. দুর্বল পরীক্ষার কাঠামো। যদিও জাভা এবং রুবিতে টেস্টিং ফ্রেমওয়ার্কগুলি খুব একই রকম, তবুও রুবি পরীক্ষার জন্য সহজেই জিনিসটি উপলব্ধ করে এক ধাপ এগিয়ে নিয়ে যায়। এটি বিশেষভাবে সত্য যদি আপনি আপনার অ্যাপ্লিকেশনটিতে বিস্তৃতভাবে ডিবি ব্যবহার করেন। এমনকি অনেক ওয়েব ফ্রেমওয়ার্ক টেস্টিং সম্পর্কে ভাবেন না।
  3. টেমপ্লেটগুলি একটি ব্যথা। তুলনামূলক সহজ ভাষা নুডল স্যুপে পরিণত করে।
  4. ভালো না. বেশিরভাগ জাভা অ্যাপ্লিকেশনগুলি বিশাল সংস্থাগুলিতে লেখা থাকে, যা আমলাতন্ত্রীর সাথে সম্পর্কিত যা বিকাশকারীদের সাথে এত ভাল যায় না। লোকেরা গুগলকে জাভা মনে করে না। গুগল == পাইথন। ওয়াই দিনে এক্স করার মতো কোনও বই প্রকাশিত না করে এটিও অনেক কিছু করতে হবে।
  5. সংকলন করতে চান না। বেশিরভাগ বিকাশকারীদের কাছে সংকলন এক দশক পুরানো ঘটনা। এটি 80 এর দশকে সি দিয়ে বোঝা গেল কিন্তু মর্ডার কম্পিউটারগুলি আরও অনেক কিছু করতে পারে। তারা সংকলিত ভাষায় কোড লেখেন না। জাভা খুব কম ভাষাগুলির মধ্যে একটি যা ওয়েব অ্যাপ্লিকেশন লেখার জন্য সংকলিত এবং ব্যবহৃত হয়।
  6. প্রচুর ওপ্স ধারণা। যদিও বিকাশকারীরা চুপচাপ উফস ডোমেন গ্রহণ করেছে। তারা এটি পুরোপুরি পছন্দ করে না। আপনি পছন্দ করেন না যখন আপনি প্রতিটি ক্লাসের সাথে একটি ক্লাস মাত্র একটি কাজ করে 10 টি ক্লাস সহ একটি আবেদন লেখেন write আপনাকে 100 এর ফাইলগুলি খুলতে এবং কখনও কখনও ফ্রেমওয়ার্কের মাধ্যমে 100 এর ক্লাসের মধ্যে ইন্টারঅ্যাকশন কল্পনা করে। পুরো প্রোগ্রামিং ক্রিয়াকলাপকে এক ছোট্ট করে তোলে। এটি বেশিরভাগ ভাষার ক্ষেত্রেই সত্য হতে পারে তবে আমি দেখেছি জাভা ডেভেলপাররা কোনও শ্রেণি কী করে তার প্রতি অনেক বেশি মনোযোগ দেয়। এটি জাভা বিকাশকারীরা প্রায়শই 100 এর ক্লাসের সাথে একটি কোড নিয়ে আসে। এটি অনেক দৃষ্টিকোণ থেকে ভাল তবে অ জাভা বিকাশকারীরা এটি ঘৃণা করে।

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


(2) JBoss Arquillian ( arquillian.org ) দ্বারা আশ্চর্যজনকভাবে সম্বোধন করা হয়েছে । বাকি অনেকগুলি জাভা ইস্যুর চেয়ে জেএসএফ 2 ইস্যু। সবচেয়ে বড় সমস্যা আইএমও ফ্রেমওয়ার্কগুলির বক্ররেখা এবং প্রচুর বগি শিখছে, তবে আপনি জেএসএফ 2 এড়াতে পারলে আপনি ভাল করতে পারেন।
ক্রেগ রিঞ্জার

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

2
"লোকেরা যখন জাভা ভাবেন তখন গুগল ভাবেন না।" ... আমি যখন গুগল সম্পর্কে চিন্তা করি তখন আমি অবশ্যই অ্যান্ড্রয়েড এবং তাদের ডালভিক ভিএম (যা একটি জাভা ভিএম) সম্পর্কে ভাবি। আমি জিডব্লিউটি (জাভা থেকে জাভাস্ক্রিপ্টের স্বয়ংক্রিয় প্রজন্ম) এর মতো দুর্দান্ত জিনিসগুলি সম্পর্কেও ভাবি। জাভাতে যদি এমন একটি সংস্থা থাকে যা "উচ্চ" থাকে তবে তা গুগল। অ্যাপল বা মাইক্রোসফ্টের চেয়ে অনেক বেশি। মঞ্জুর, ওরাকল এবং আইবিএম গুগলের চেয়ে জাভার সাথে আরও জড়িত তবে এখনও: জাভা ভিএম-তে কোটি কোটি অ্যান্ড্রয়েড ডিভাইস জাভা অ্যাপগুলিতে চলমান খুব শক্ত গুগল / জাভা লিঙ্ক স্থাপন না করেই ভাবা খুব কঠিন বিষয়।
সিড্রিক মার্টিন

এই মন্তব্যগুলিতে জেএসএফ 2 ফর্ম @ ক্রেইগ্রআঙ্গার প্রতি প্রচুর ঘৃণা। :-) এটির কি এমন বিষয় যা আপনাকে বিরক্ত করে? আমি এটা জটিল দিয়ে শুরু করতে পাওয়া গিয়েছিলো, কিন্তু একবার আমি যাচ্ছি পেয়েছিলাম, আমি ভালবাসেন করুন। অবশ্যই, আমি এর আগে স্প্রিং ব্যবহার করছিলাম, সুতরাং অন্য যে কোনও কিছুই উন্নতির মতো দেখাচ্ছে ... :-)
ব্রায়ান নোব্লাচ

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

14

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

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

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


ফ্রেমওয়ার্ক ওভারকিলের জন্য +1। এটি উন্মাদ হয়ে উঠছে, বসন্তের জে 2 আই মাভেন পিঁপড় হাইবারনেট, আপনি আপনার সমস্ত সময় এক্সএমএল কনফিগারেশন লেখায় ব্যয় করছেন।
রিচার্ড

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

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

14

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

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

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

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

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


আমি মনে করি এটি সত্যিই ভাল পয়েন্ট +1
sfrj

1
আমি যে অনুচ্ছেদে বলেছি তাতে একমত নই: তিনি সম্ভবত একজন স্ব-শিক্ষিত প্রোগ্রামার। আজকাল এটি অসত্য, এখনকার প্রোগ্রামের 30-এর অধিকাংশ লোক উপযুক্ত প্রোগ্রামার এবং কমপক্ষে একটি ডিগ্রি অর্জন করে have
কোयोোট 21

1
??? আমি প্রোটোটাইপিকাল ওয়েব স্টার্টআপটি আঁকছি। আমি তাদের সক্ষম হওয়ার বিষয়ে কিছু বলিনি। আপনি একই সাথে স্ব-শিক্ষিত এবং সক্ষম হতে পারেন। আমি নিশ্চিত নই যে আপনি কার সাথে একমত নন।
মাইকেল ব্রাউন 13

1
এটি আমার উত্তর ছিল। জাভা প্রায় একমাত্র বর্তমান ওয়েব প্রযুক্তি যা ডিজাইন করা হয়নি যাতে কোনও সক্ষম বিকাশকারী এটি এটিকে বেছে নিতে এবং এটি ব্যবহার করতে পারে। আপনার উত্তরের দ্বিতীয় অংশটি পাইথন পারডক্সে
ইউজার ১676464৪

14

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

আমি আরও মনে করি যে পিএইচপি দিয়ে আপনার কমপক্ষে যা আছে তা হ'ল অনেক বিকাশকারী যারা 14/15 বছর আগে আমার স্ট্যাটিক এইচটিএমএল দিয়ে শুরু করেছিলেন। জিনিসগুলি যখন অগ্রগতির সাথে সাথে আমরা আমাদের সাইটগুলিতে পিএইচপি যুক্ত করা শুরু করি কারণ এটি সহজ, সহজ এবং সাশ্রয়ী ছিল। বছরের পর বছর ধরে ভাষাটি বৃদ্ধি পেয়েছে এবং এর দক্ষতা প্রসারিত হয়েছে তার নম্র সূচনার বাইরেও এবং এখন আমি যা চেষ্টা করি তা হ'ল সত্যই তা নয় lot

বেশিরভাগ পিএইচপি ডেভস আমি জানি জাভাটিকে এই বিশাল আকারের জটিল 800lb গরিলা হিসাবে দেখি, প্রায় মুদি দোকানে নেমে গাড়ি চালানোর জন্য এবং 18 টি চাকা আধা ট্রাক বের করার মতো।

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


3
আমি পিএইচপি-র 9000 বিল্ট-ইন পদ্ধতিগুলির চেয়ে আরও পছন্দ এবং কিছুটা জটিলতা নেব।
কালেব ব্রাসি

1
পিএইচপি সেটআপ করা ঠিক তাই সহজ।
বারফিল্ডমভি

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

যদি না তারা দু'জনই দুর্গন্ধ না ফেলে তবে একটি পিআইটিএর অপরটির তুলনায় অনেক বেশি।
এরিক পুনরায়

12

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

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

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

আমাকে ভুল করবেন না ... আমি বলছি না জাভা সর্বদা সেরা পছন্দ (দূরবর্তী নয়!) - তবে এটি সর্বদা ভুল বা "পুরানো" পছন্দও নয়।


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

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

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

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

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

12
  1. পিএইচপি / পাইথন / রুবির চেয়ে জাভা শিখতে আরও জটিল
  2. জাভা ইকোসিস্টেম খুব জটিল, খুব বড় এবং প্রাথমিকভাবে বিভ্রান্তকারী
  3. জাভা সম্পর্কিত নেতিবাচক খ্যাতি সহ অনেক historতিহাসিকভাবে খারাপ কাঠামো রয়েছে, আপনাকে সময় নষ্ট এড়াতে কোন ফ্রেমওয়ার্কগুলি জানতে হবে
  4. জাভা বিল্ড সরঞ্জামগুলি জটিল (মভেন এবং পিপীলিকা) এর উপায়
  5. জাভাতে এমন কোনও মডিউল সিস্টেম নেই যা ব্যবহার করা সহজ (ওএসজিআই বেশ জটিল)
  6. জাভা আইডিই যেমন অ্যাক্লিপসের মতো অসাধারণ বৈশিষ্ট্য সহ শক্তিশালী যখন কার্যকর অভিজ্ঞতা অর্জন না করে কার্যকর ওয়েব বিকাশের জন্য কনফিগার করা কঠিন।
  7. আপনি যদি সার্ভার হিসাবে টমক্যাট বা জেটি ব্যতীত অন্য কিছু ব্যবহার করেন তবে আপনি ওয়েবস্পিয়ার / ওয়েবলজিক / জেবিওএস-এর দীর্ঘ প্রারম্ভকালীন সময় দ্বারা হতাশ হবেন will
  8. জাভা ইই সমস্যাগুলি সমাধান করে যা অনেকের কাছে যেমন বিতরণ লেনদেনের মতো নেই

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

উপরের সমস্ত কথাটি বলে, আমি আমার স্টার্টআপের জন্য জাভা ব্যবহার করার সিদ্ধান্ত নিয়েছিলাম কারণ একটি সঠিকভাবে কনফিগার করা জাভা বিকাশ পরিবেশটি কাজ করার জন্য খুব উত্পাদনশীল properly সঠিকভাবে কনফিগার করে আমার অর্থ।

  1. স্টার্ট-আপ সময় 10 সেকেন্ডেরও কম
  2. সমস্ত ফ্রেমওয়ার্কগুলি মোচড় দিয়ে কাটা এবং কনফিগার করে ঠিকঠাকভাবে গ্রহণের কর্মক্ষেত্রটি সঠিকভাবে কনফিগার করা হয়েছে
  3. গ্রন্থাগারগুলির ভাল নির্বাচন (স্প্রিং, স্প্রিং এমভিসি, স্প্রিং সোস্যাল, স্প্রিং সিকিউরিটি, জেপিএ, হাইবারনেট, वेग, ইত্যাদি)
  4. এসএসডি সহ দ্রুত বিকাশকারী মেশিন
  5. ওরিলি সাফারি সাবস্ক্রিপশন

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

2
পছন্দ করুন আমার একটি জাভা প্রকল্পে কাজ করতে হচ্ছে তবে। নেট এ ব্যাকগ্রাউন্ড আছে। ভাষা এবং বাক্য গঠনটি আমি যে কিছু বুঝতে পেরেছি তা সহজ। এটি ভার্চুটি যা সত্যই আমাকে বাদাম চালিয়ে যাচ্ছে। আমি 1 লাইনে যা ব্যবহার করি এখন 5-10 এবং (প্রায়শই) একটি এক্সএমএল কনফিগার ফাইল ফাইল সম্পাদনা লাগে। ঘন্টা পড়ার উপর ঘন্টা ব্যয় না করে, কাজের জন্য "ডান" কাঠামো বাছাই করা দুঃস্বপ্ন - এবং এটির আগে আপনি যে আপনার পরিস্থিতিটি একটি প্রান্তের ক্ষেত্র হিসাবে বিবেচিত, সমর্থনযোগ্য নয় এবং যদি আপনি পছন্দ করেন না তবে এটি, এটি আবার লিখুন। আমি বড় সমস্যাগুলি সমাধান করতে আমার সময়টি ব্যয় করতে চাই
বেসিক

"জাভা আরও জটিল" - কেউ কি কখনও পিএইচপি এর প্যারামিটার অর্ডারগুলি মনে রাখতে পারে strposবা in_array? এবং পিএইচপি এর এক্সএমএল ডোম ইন্টারফেসটি হাস্যকর (তাদের পুনরুদ্ধারের জন্য স্ট্রিংগুলিতে কাস্ট বৈশিষ্ট্যগুলি?)। ওএসজিআই একেবারে উজ্জ্বল এবং ভাষা-স্বাধীন।
jevon

@ জেভন: পিএইচপি ডক্স খুব ভাল এবং আমার আইডিই যাইহোক আমাকে স্মরণ করিয়ে দিতে আগ্রহী। এছাড়াও, সিম্পল এক্সএমএল।
ড্যানম্যান

12

প্রায় 5 বছর আগে, আমাকে এবং একজন সহকর্মীকে কিছু অভ্যন্তরীণ প্রকল্পের জন্য একটি প্রোগ্রামিং টাস্ক দেওয়া হয়েছিল। একটি সাধারণ পর্যাপ্ত টাস্ক যার জন্য কমান্ড পার্সিংয়ের প্রয়োজন।

আমি জাভা কোডের প্রায় 80 লাইনে সম্পূর্ণ জিনিসটি নিয়ে এসেছি এবং আমার সহকর্মী এক সপ্তাহ সময় নিয়েছে, প্রায় 20 টি জাভা ক্লাস এবং জাভা কোডের আরও অনেকগুলি লাইন এটি করতে। বলা বাহুল্য, তার কোডটি বেছে নেওয়া হয়েছিল।

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

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

আমি আর বেশ কয়েকটি কারণে জাভা ব্যবহার করি না। তবে এর মধ্যে অন্যতম কারণ - জটিলতা, এটি যখন সফটওয়্যারটি বিকাশের ক্ষেত্রে আসে তখন এক টন জাভা দেবের মধ্যে বিরাজমান মানসিকতা।

গতিশীল ভাষাগুলি স্কেলিংয়ের ক্ষেত্রে, জেভিএম হ'ল কয়েক দশকের গবেষণার ফলাফল। রুবি ইত্যাদির ক্ষেত্রেও একই ঘটনা ঘটছে etc.

স্কালা একটি ভাষা যা আমি দেখতে পেয়েছি এটি অত্যন্ত চতুর এবং ব্যবহারিক। খেলুন! স্কালার সাথে ওয়েব / এন্টারপ্রাইজ অ্যাপ্লিকেশন বিকাশের জন্য ততই দুর্দান্ত there

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


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

11

ইন একটি সাম্প্রতিক সাক্ষাত্কার সঙ্গে, জোসেফ Snarr, Google এর জন্য একটি প্রযুক্তিগত সীসা প্লাস ব্যাখ্যা কিভাবে আবেদন ফিরে শেষ এবং JavaScript সামনে শেষ এর জন্য জাভা সার্ভলেট ব্যবহার করে।

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

আমি মনে করি যে প্রচুর স্টার্ট-আপগুলি অন্যান্য প্রযুক্তি ব্যবহার করছে কারণ হ'ল তারা আরও যৌনতর এবং তাদের পিছনে একটি উন্মুক্ত উত্সকে আরও বেশি প্রচারিত করেছে।


4
স্টার্ট-আপগুলি অন্যান্য প্রযুক্তি ব্যবহার করে কারণ তারা এখনই এটি সম্পন্ন করতে চায়। না পরে. এবং তারা এটি 30
এরিক রেপেন

একজন ব্যক্তির উদ্ধৃতি দেওয়া কেবল তার মতামত এবং তার পছন্দগুলি সরবরাহ করতে পারে তবে যাচাই করে না যে সে / সে যা পছন্দ করেছে তা সঠিক সিদ্ধান্ত ছিল।
DivKis01

9

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


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

5
ফ্ল্যাশ অ্যাপলেট হওয়ার চেষ্টা করেছিল tried দ্রুত শুরু, দ্রুত ডাউনলোড, কম মেমরির পদচিহ্ন।

4
আমি এমন অনেক লোককে জানি যা জাভা এবং জাভাস্ক্রিপ্টের মধ্যে পার্থক্য করতে পারে না। যদিও তারা সম্পূর্ণ অপ্রাসঙ্গিক। এটি জাভাটির একটি খারাপ নাম দেয় যা অন্য একটি জিনিস।
কিব্বি

5
@ কিবিবে ... বা এটি জাভাস্ক্রিপ্টকে একটি খারাপ নাম দেয় :)
ম্যাথু শিংকেল

9

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

গুগলের মতো একটি সংস্থা সামনের আকারের জন্য বিল্ডিংয়ের জিনিসগুলি বহন করতে পারে, যদিও তারা কোনও ব্যবহারকারীর না পাবার জন্য স্কেলিং বাস্তবায়নে তাদের সময় নষ্ট করতে পারে, কারণ তারা লোকসানটি শোষণ করতে পারে।

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


1
আপনার উত্সটি কোথায় বলা হচ্ছে যে স্টার্টআপগুলি জাভা ব্যবহার করে না? কিছু তথ্য সহ আপনার অনুমান ব্যাক আপ করুন।
ওয়াল্টার 16

7

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

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


3
এটি একটি জাভা ওয়েব ফ্রেমওয়ার্ক যা আপনাকে জাভা দিয়ে উত্পাদনশীল করে তোলে এবং রুবেল অন রেল দ্বারা অনুপ্রাণিত করে প্লে ফ্রেমওয়ার্কটিতে আপনার নজর রাখা উচিত ।
জোনাস

2
@ জোনাস, এই সমস্ত সংক্ষিপ্তভাবে ব্যাখ্যা করে কিছু ভাল ব্লগ পোস্ট লেখার বিষয়ে বিবেচনা করুন।

@ জোনাস কি থরবজর্ন বলেছে! আমি এটি একটি পুরোপুরি পড়া দিতে হবে। :)
ব্রায়ান

@ থরবজর্ন: আমার কোনও ব্লগ নেই। সংক্ষেপে: প্লে ফ্রেমওয়ার্কের সাহায্যে আপনি কেবল আপনার জাভা উত্স কোড সংরক্ষণ করুন এবং তারপরে ওয়েব ব্রাউজারটি আপডেট করুন। কোডটি স্বয়ংক্রিয়ভাবে Eclipse সংকলকটি ব্যবহার করে সার্ভার-সাইড সংকলিত হয়। জেপিএ ডাটাবেস অ্যাক্সেসের জন্য ব্যবহৃত হয়। এখানে এটি সম্পর্কে একটি নিবন্ধ খেলুন! ফ্রেমওয়ার্কের ব্যবহারযোগ্যতা
জোনাস

2
@ থরবজর্ন ও ব্রায়ান: প্লে ফ্রেমওয়ার্ক ওয়েবসাইটের প্রথম পৃষ্ঠায় ভিডিওটি দেখুন, এটি খুব সুন্দরভাবে ব্যাখ্যা করেছে আমি বলব।
বজার্ক ফ্রুন্ড-হানসেন

7

সহজ উত্তর: বেস উত্পাদনশীলতা শেখার বক্ররেখা।

আরআর এর মতো ফ্রেমওয়ার্ক ভিত্তিক সিস্টেমগুলি ভাষা / বাক্য গঠনতে "যাদু" রাখে। আপনার বেসিক আরআর সিনট্যাক্সটি র‌্যাম্প আপ করা এবং একটি অ্যাপ্লিকেশন পেতে এবং চালু রাখা খুব সহজ।

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

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

তবে আপনি যদি ফেসবুক এবং টুইটারের দিকে নজর রাখেন, তাদের প্রসারিত হওয়ার সাথে সাথে তারা এমন জিনিসগুলি খুঁজে পেয়েছেন যা বাক্স ফ্রেমওয়ার্কের বাইরে পরিচালনা করা যায় না এবং তাই তাদের নিম্ন স্তরের প্রযুক্তি ব্যবহার করতে হয়েছিল।

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


6

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


6

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


5

আমি যে স্টার্টআপটিতে কাজ করি তার জন্য আমরা আমাদের API প্রয়োগ করতে জাভা এবং জেআরবি উভয়ই বেছে নিয়েছিলাম কারণ তারা একে অপরের পরিপূরক।

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

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

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

কী জাভা EE স্টাফ এড়ানোর জন্য - এটি বিশাল এবং জটিল এবং বিরোধী চতুর।


5

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

এটি বলেছিল, সমস্ত আসল প্রশ্ন মন্তব্য করে ...

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

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

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

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

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


5

এটি সত্য, তবে জাভা এবং এর বাস্তুতন্ত্রের কারণে নয়। এটি জাতির কারণেই, জাভা ব্যবহার করার সময় বড় মেস এবং ভারী ঘৃণা তৈরি করার প্রবণতা থাকে।

পর্যাপ্ত ফ্রেমওয়ার্ক রয়েছে (স্প্রিং-এমভিসি, গ্রিল, খেলা ইত্যাদি) যা আপনাকে জিনিসগুলি দ্রুত তৈরি করতে দেয়। লোকেরা তাদের সিস্টেমগুলিকে গুরুত্বের সাথে বিবেচনা করে এমন একটি সমস্যা যা জাভা বাস্তুতন্ত্রের সাথে কাজ করার সময় লোকেরা যে পরিমাণ বর্ধিত জ্ঞান অর্জন করে তা আসে - আপনি আরও অনেক কিছু জানেন এবং আপনার কাছে এগুলি উপলব্ধ রয়েছে (সমস্ত কিছুর জন্য সরঞ্জাম রয়েছে), এবং "সমস্ত কিছু দেখতে দেখতে দেখতে ভাল লাগে একটি নখ".

আপনি যদি "হ্যাকি" হন, আপনি জাভা হিসাবে অন্যান্য ভাষার মতো একই কাজ করতে পারেন, এবং এখানে একটি সমীক্ষা ইঙ্গিত করে যে:

৪৯ জন প্রোগ্রামারদের অধ্যয়ন: স্ট্যাটিক টাইপ সিস্টেমের উন্নয়নের সময় কোনও প্রভাব ছিল না ... http://www.cs.washington.edu/education/courses/cse590n/10au/hanenberg-oopsla2010.pdf


3

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

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

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


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

3

কে বলে যে তা না?

স্প্রিং এমভিসি + স্প্রিং ডেটা জেপিএ বা মঙ্গো + টেম্পলটিংয়ের জন্য থাইমালিফ + কফি থেকে জেএস ট্রান্সপ্লিংয়ের জন্য কফি-মভেন-প্লাগইন এবং আপনি যেতে ভাল।


আমি আপনার সাথে সম্পূর্ণরূপে একমত +1
আরশাদ আলী

3

অনেকগুলি জাভা এবং ওয়েব অ্যাপ্লিকেশন বিকাশকে জে 2 ই ই এর ভয়াবহতার সাথে সংযুক্ত করতে পারে যা বড় নীল এবং লাল কর্পোরেশনগুলির জাঁকজমকপূর্ণ J2EE অ্যাপ্লিকেশন সার্ভারের সাথে বান্ডিল করা হয়েছে, বেসিক "হ্যালো ওয়ার্ল্ড" অনলাইন হওয়ার আগে সপ্তাহের কাজের সমতুল্য।

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

এটি এখনও জাভাতে ওয়েব অ্যাপ্লিকেশন বিকাশ করার মান-ভিত্তিক উপায় way অন্যান্য উত্তরগুলিতে বর্ণিত বিকল্পগুলির মধ্যে অনেকগুলি মিশ্রিত এবং বিভ্রান্তিমূলক চিত্র দেওয়ার জন্য অনেকগুলি পছন্দ আছে choices

অন্যান্য ভাষা এই ভিড়ের পরিবর্তে একটি একক টার্নকি সমাধান চিত্রিত করে। যখন আপনার কাছে আরও গুরুত্বপূর্ণ মাছ ভাজা থাকে তখন এটি এই পছন্দটিকে আরও উপযুক্ত জন্য মনে হয়।


জাভা EE 6 "হালকা ওজন" হতে পারে (জেএসএফ 2 ব্যতীত) তবে এটি এখনও একটি অবিশ্বাস্যভাবে বিশাল শেখার বক্ররেখা, জটিল স্পেসিফিকেশনের একটি বিশালাকার স্ট্যাক এবং একটি অত্যন্ত জটিল স্তরযুক্ত সিস্টেম। লাইটওয়েট সম্ভবত, তবে নিশ্চিত না যে এটি সহজ নয়।
ক্রেগ রিঞ্জার

2

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

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