З усім іншим теж приблизно все ясно... Але чого росте дельфі? Що, на ньому щось серйозне хтось ще пише? І де хаскель?=)
Цитата: Володимир Лісівка від 2008-12-18 16:34:40А якого рівня мови Ява і Сі на процесорах, які вміють виконувати байт-код яви? :-)Жава, в будь-якому випадку, з таким рівнем абстракції - мова дуже високого рівня.
А якого рівня мови Ява і Сі на процесорах, які вміють виконувати байт-код яви? :-)
Цитата: Володимир Лісівка від 2008-12-18 16:34:40Не чув про них. Є проблеми з SMP, але вони не специфічні для Яви.Читав про суттєве падіння перформансу з синхронізацією тредів. OK, можливо, моя інформація застаріла.
Не чув про них. Є проблеми з SMP, але вони не специфічні для Яви.
Цитата: Володимир Лісівка від 2008-12-18 16:34:40Кому як.А таки кому?
Кому як.
Цитата: Володимир Лісівка від 2008-12-18 16:34:40На яві (як мові) можна писати програми низького рівня, використовувати ручне керування пам’яттюЯ знаю. Про те і мова.Взагалі, серйозно осилювати жаву я взявся всього два тижні тому. Решта моєї інформації застаріла років на 5. Суперечку продовжувати не буду, бо не маю достатньо знань для цього. Але тим не менше, залишаюсь при думці, що в жаві нічого видатного нема (я, принаймні, поки не помітив), і всі її звичні задачі як мінімум не менш успішно можна виконати іншими інструментами.
На яві (як мові) можна писати програми низького рівня, використовувати ручне керування пам’яттю
Тому питання про незрозумілість її популярності залишається відкритим. Якщо хтось мені пояснить (без аргументів типу "я на ній пишу") - буду дуже вдячний.
Таблиця очікувана. Жаба з неясних до кінця причин весь час тримає перше місце. Штука непогана, але аж ніяк не настільки. З C все ясно, це всерйоз і надовго. А от C++ - це, на мій погляд, все ж явище тимчасове. Повалиться вниз в нікуди, якщо цепепох вчасно не випустять. Та й якщо випустять, ще невідомо, що буде. C# росте, тому що віста, і взагалі - всі на вінді стали схиблені на managed. Політика в чистому вигляді.З усім іншим теж приблизно все ясно... Але чого росте дельфі? Що, на ньому щось серйозне хтось ще пише? І де хаскель?=)
Цитата: DalekiyObriy від 2008-12-18 19:26:50Ще спостереження - кількість вільних проектів на жаві порівняно невелика. Ті кілька, що я пробував - низької або дуже низької якості (або смертельно глючать, або дико гальмують).Чудово, приймається. Ще думки?Ваші спостереження невірні. На sourceforge з 7351 проектів 1619 написано на Java, а TIOBE індекс значною мірою складається якраз на основі sourceforge , бо для комерційних проектів статистика майже недоступна, а sourceforge є найбільшим в світі репозитарієм вільних проектів. Я не надто полюбляю Яву, але на мою думку її проблема та сила лежить в іншій площині. Я називаю цю проблему "overcomplicated", коли для вирішення простої проблеми робиться цілий framework, поверх ще кількох, і все це родирається через неймовірну кількість інтерфейсів, в результаті тільки щоб освоїти ОДНУ бібліотеку можуть піти місяці і з'являються вузькі фахівці по JFace чи JSP і все це в межах однієї платформи. До речі ці ж недоліки стосуються значною мірою і .NET. Ну і деякі речі в синтаксисі мене дратують, але на це як кажуть наші північні сусіди "На вкус и цвет все фломастеры разные".
Ще спостереження - кількість вільних проектів на жаві порівняно невелика. Ті кілька, що я пробував - низької або дуже низької якості (або смертельно глючать, або дико гальмують).Чудово, приймається. Ще думки?
Стабільний результат на багатьох платформах
C++ - це мейнстрім 90-х і навіть початку 2000-х, зіскакування з нього довге та важке.
C# - це реальність для будь-якого програміста для платформи Windows. А ваша неприязнь до керованості необгрунтована. Все визначається типом завдань які ви збираєтеся вирішувати. Досвід розробників ОС Singularity підтверджує, що, ніш де керовані мови не можуть бути застосовані насправді є дуже мало.
Видно що ви не завдали собі клопоту пройти за посиланням Хаскель в другій половині звіту 33-є місце з відсотками сумарного використання вдвічі меншими за приріст Делфі.
Ваші спостереження невірні. На sourceforge з 7351 проектів 1619 написано на Java, а TIOBE індекс значною мірою складається якраз на основі sourceforge , бо для комерційних проектів статистика майже недоступна, а sourceforge є найбільшим в світі репозитарієм вільних проектів.
А от тримати в себе на машині jre зовсім необов’язково. І це факт.
Падіння продуктивності при синхронізації спільної паралельної роботи дійсно має місце, але в усіх мовах програмування. Подивіться тести багатопотокових веб-серверів, наприклад.В Яві раніше для прикладного програміста був доступний тільки один метод синхронізації - блокування всього об’єкту, який не відрізняється ефективністю але простий в реалізації. Але це все таки значно краще ніж глобальне блокування всього ядра в ядрах лінукса до версії 2.6, хоча він написаний на Сі. ;-)Зараз прикладному програмісту доступно більше засобів для організації ефективної роботи, такі як атомарні операції, напр. Хоча і тут не все гладко - дуже легко забезпечити атомарність на однопроцесорній машині (витрати фактично нульові), тоді як на більшій кількості процесів ростуть витрати на забезпечення атомарності.АЛЕ, теперішній підхід рухається взагалі в іншу сторону, в сторону lock-free і wait-free алгоритмів. Для прикладу, ext3 вже не перевіряє всю файлову систему після збою, так як існує журнал, в якому записані останні транзакції, і потрібно перевірити тільки його. Так само lock-free алгоритм спочатку декларує в журналі, що він буде робити, потім робить це (можливо, на копії), потім перевіряє що ж реально вийшло (і, можливо, комітить зміни якщо робота йшла на копії). Інший потік може прибігти, подивитися по журналу що потрібно зробити, зробити це (або відмінити чи взагалі проігнорувати транзакцію, якщо робота йде на копії), поставити відмітку в журналі і далі займатися своєю роботою. Знову ж таки, ця надлишкова може давати виграш тільки на високонавантажених/високонкурентних системах чи системах з особливими вимогами до швидкості операцій читання/запису.Погодьтеся, що ці алгоритми придатні для багатьох мов програмування, а не тільки для Яви, відповідно і проблеми також не є специфічними для Яви. Наприклад проблема інверсії пріоритету була вирішена в ядрі Лінукса зовсім недавно.
Цитата: Raven від 2008-12-18 19:50:43Ще спостереження - кількість вільних проектів на жаві порівняно невелика. Ті кілька, що я пробував - низької або дуже низької якості (або смертельно глючать, або дико гальмують).до речі це теж не зовсім правда, візміть ті самі відкриті apache-commons, log4j, tomcat, jboss, eclipse, GWT, openCMS, ... які живуть вже не перший рік і використовуються в дуже багатьох комерційних (і вільних) проектах, і судячи з того, що їм віддають перевагу над комерційними аналогами або написанням in-house їх якість доводити зайвий раз не потрібно...
Ще спостереження - кількість вільних проектів на жаві порівняно невелика. Ті кілька, що я пробував - низької або дуже низької якості (або смертельно глючать, або дико гальмують).
Цитата: Raven від 2008-12-20 05:19:13А от тримати в себе на машині jre зовсім необов’язково. І це факт.Точніше, не так. Я без нього обходжусь без жодних незручностей, в рамках своїх задач.
Цитата: Raven від 2008-12-20 05:29:28Цитата: Raven від 2008-12-20 05:19:13А от тримати в себе на машині jre зовсім необов’язково. І це факт.Точніше, не так. Я без нього обходжусь без жодних незручностей, в рамках своїх задач.Миколо, тобі відверто щастить. Ось я без нього не можу - усі IP-KVM зроблені на жабі. А бігти у разі чого за океан якось того...
Хе. Сам винен. Перекваліфіковуйся в це-девелопери, теж будеш такі дурні питання як от я задавати=)
Я не надто полюбляю Яву, але на мою думку її проблема та сила лежить в іншій площині. Я називаю цю проблему "overcomplicated", коли для вирішення простої проблеми робиться цілий framework, поверх ще кількох, і все це родирається через неймовірну кількість інтерфейсів, в результаті тільки щоб освоїти ОДНУ бібліотеку можуть піти місяці і з'являються вузькі фахівці по JFace чи JSP і все це в межах однієї платформи.
Цитата: Володимир Лісівка від 2008-12-19 17:28:35Стабільний результат на багатьох платформахНе маю підстав думати, що кросплатформеність всерйоз когось цікавить. Завжди дизайнять під конкретну.
А на-Сі-льники взагалі прибалділи - замість однієї libc попридумували кілька десятків тисяч бібліотек, причому всі з різними інтерфейсами і часто навіть з різними назвами основних типів даних!!!
Під конкретну версію Віндовза чи конкретну модель мобілки? Якщо розробники сидять на різних ОС-ках (Win,Lin,MacOS) а кінцева програма крутиться на іншій ОС-ці (напр. UNIX чи Symbian), то існує два популярних рішення: пересадити всіх розробників на цільову ОС-ку
або використовувати систему, яка більш-менш однаково добре працює усюди (Ява, Python, Perl, HTML/JavaScript, etc. ).
дуже смішно у випадку ОС-ки для вбудованих систем
систем з високою вартістю і/чи складністю
Завжди не любив людей які ігнорують проблеми сумісності з сьогоднішнім і завтрашнім днем.
Цитата: Re. від 2008-12-18 17:30:45Цитата: Raven від 2008-12-18 17:05:32Тому питання про незрозумілість її популярності залишається відкритим. Якщо хтось мені пояснить (без аргументів типу "я на ній пишу") - буду дуже вдячний.Цікаво-цікаво, а ви якою мовою будете писати програму для мобільних телефонів?=)P.S. Тільки не пишіть про Сішку, будьмо реалістами=)У сусідній кімнаті програмісти пишуть софт для мобільного телефона на Objective-C. Хоча, невеличке доповнення: то не мобільний телефон а iPhone
Цитата: Raven від 2008-12-18 17:05:32Тому питання про незрозумілість її популярності залишається відкритим. Якщо хтось мені пояснить (без аргументів типу "я на ній пишу") - буду дуже вдячний.Цікаво-цікаво, а ви якою мовою будете писати програму для мобільних телефонів?=)P.S. Тільки не пишіть про Сішку, будьмо реалістами=)
В мене на поясі висить пристрій, під який софт на JavaME написати неможливо, а от на C++ - залюбки (Motorola A1200e з QTopia замість "рідного" мотлоху).
Цитата: prapor від 2008-12-18 17:35:49У сусідній кімнаті програмісти пишуть софт для мобільного телефона на Objective-C. Хоча, невеличке доповнення: то не мобільний телефон а iPhone http://www.innaworks.com/alcheMo-for-iPhone.html
У сусідній кімнаті програмісти пишуть софт для мобільного телефона на Objective-C. Хоча, невеличке доповнення: то не мобільний телефон а iPhone
На a1200e можна ганяти нормальну яву, а не тільки J2ME.http://rschuster.blogs.evolvis.org/2008/12/21/serving-cross-compiled-openjdk-with-icedtea/