Обговорення:Java
Додати темуЗауваження
[ред. код]Щось тут не так: мови програмування самі по собі є незалежними від платформи. Хоча, так, в яві було стандартизовано розмір байтів, побітові операції, тощо. Насправді ж Ява це мова+бібліотеки класів+віртуальна машина (середовище виконання). Гадаю, слід це як то відобразити.
Тут бракує інформації про типізацію, об'єктну орієнтованість, переваги та вади яви, походження та запозичення ідей з інших мов.
Варто згадати і про фрагментацію яви - велику кількість альтернативних реалізацій, несумісність між ними та несумісність між різними версіями яви самого сонця.
Нагадати про маркетингову кампанію Write Once Run Many (WORM), про обмеження всієї архітектури та системи. Можливо, є і переваги. Про створення інтерпретаторів та компіляторів інших мов для віртуальної машини ява.
--VictorAnyakin 06:20, 22 червня 2006 (UTC)
- Щодо незалежності — мається на увазі виконання програми на Java. Скажімо, в тому ж С потрібно враховувати особливості платформи, вона більш жорстка у цьому плані. Програміст на Java не зобов'язаний думати про фізичну організацію пам'яті, архітектуру процесора тощо саме завдяки віртуальній ява-машині, яка на всіх платформах повинна трактувати програму однаково. Це не єдина перевага Java, також не згадаю якихось особливих конфліктив різних версій.
- Мені здається, найповнішу та коректну інформацію про саму мову гарно було би взяти з підручника David Eck'а «Introduction to Programming Using Java», а базові принципи ООП з «Thinking in Java» Bruce Eckel'я, лише треба перекласти. Анастасія
- Мова програмування Сі, саме як мова, є, в основному, незалежною від конкретної аппаратної платформи. В основному, відмінності в аппаратній платформі вібиваються на розмірі деяких типів даних, порядку бітів та внутрішній формі представлення числових або стрічкових даних. Сама ж мова, і стандартна бібліотека, є майже крос платформенними. Достатньо лише не опускатись до рівня побітових операцій, і не виходити за межі POSIX сумісності.
- В яві вони зробили ще один крок в перед, і стандартизували ці речі: розмір цілих, не цілих, тощо. Програми, написані на яві, можуть виконуватись як в віртуальній машині (найпоширеніший випадок на персоналках), так і компілюватись в бінарні коди конкретного процесора (наприклад, компілятором GCJ). В мене є сумніви, що ява на мобілках виконується в віртуальній машині. Швидше за все, деякий набір команд асемблера ява машини вбудовано в процесор. До того ж, певний час було чутно про спеціалізовані ява процесори (Hot Java, чи щось так).
- Про несумісність версій можна сказати одне слово: @deprecated. Докладніше про нього можна знайти на сайті сонця. Крім цього, деякі нові можливості яви версії 1.5 (ті ж генеріки, наприклад) за замовчуванням компілюються в байт коди, несумісні з попередніми версіями віртуальних машин.--VictorAnyakin 06:41, 26 червня 2006 (UTC)
- Зовсім незгоден. @deprecated - це зручний механізм попередження програміста про те, що застосування даного методу небажане, бо він може зникнути в наступних версіях (в С++ такої можливості немає). Крім того починаючи з Java 1.2 я ще не бачив, щоб @deprecated-метод справді вилучили. Що до версій 1.5, то в ній розширили саму мову (додали шаблони (Temlates), розширили семантику циклів тощо), тому ні про яку зворотню сумісність не може бути й мови. Але програми написані для Java 1.2 успішно компілюються під 1.5. --Gutsul 10:57, 26 червня 2006 (UTC)
- Зручна чи ні - складно сказати, кому як. Те, що було додано до яви полтора, навіть самі соняшникові розробники не називають шаблонами. Здається, вони це називають Generics. Ще там було додано автообгортки примітивних типів, тощо.
- В своїй власній практиці я вже неодноразово зустрічався із несумісністю вихідних кодів програм для попередніх версій із наступними.
- Коротше кажучи, майже повний набір типової інтерпретованої мови. І жодного WORM.
- Щось в мене така враження з'являється, що ми почали відхилятись від статті в сторону обговорення недоліків мови. Гадаю, що в статті було б слід відобразити такі речі:
- класифікація мови (обєктна орієнтована, алгоритмічна)
- типи даних (базові типи + обєкти)
- ООП особливості: лише одиночна наслідуваність, тощо
- відсутність вказівників, параметри методів
- може ще щось (так, відносно яви ще треба кудись втулити інфу про віртуальну машину, середовища виконання, стандартну, серверну, та мобільну платформи і тд і тп...).
- Ще, на мою думку, було б цікаво розробити структуру описання мов програмування (не шаблон, а саме схему), що і в якій послідовності слід вказувати описуючи мову програмування.--VictorAnyakin 07:53, 3 липня 2006 (UTC)
- Щось в мене така враження з'являється, що ми почали відхилятись від статті в сторону обговорення недоліків мови. Гадаю, що в статті було б слід відобразити такі речі:
Назва статті
[ред. код]І нащо тут „(мова програмування)“, якщо статті „Java“ все одно немає? 194.169.192.149 12:29, 6 червня 2007 (UTC)
Посилання на джерела інформації
[ред. код]Було б не зайвим вставити посилання на джерела інформації для зроблених у статті тверджень, використовуючи теги ref.--vityok 22:00, 8 січня 2009 (UTC)
Поліморфізм
[ред. код]В статті нічого про поліморфізм в Java. Варто б добавити Volodimirg 08:50, 6 червня 2011 (UTC)
Приклади програми
[ред. код]@Володимир Груша: добридень! а чому не можна було використати readLine?--vityok (обговорення) 11:17, 13 червня 2017 (UTC)
- Можна було б, але я не ставив за мету навести кращий варіант за існуючий. Можна б було, взагалі, використав клас Scanner. В статті, я лишень поправив явну помилку в прикладі, який до мене вписав анонім.-- Volodimirg (обговорення) 19:23, 13 червня 2017 (UTC)