мастер ломания компов
|
|
1 | |
Самый популярный язык программирования - java.20.12.2011, 13:16. Показов 8092. Ответов 23
Метки нет (Все метки)
Вот собственно ссылка - http://www.tiobe.com/index.php... index.html
Но ведь язык c++ лучше и удобнее! Как же так?
0
|
20.12.2011, 13:16 | |
Ответы с готовыми решениями:
23
Действительно ли java на данное время самый актуальный язык? Язык программирования Java и среда NetBeans В. Монахов Язык программирования JAVA и среда NetBeans В. Монахов Здравствуйте ! Подскажите пожалуйста где можно скачать язык программирования Java ? |
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
20.12.2011, 15:31 | 2 |
Лучше и удобнее для чего? Напишите на С++ приложение, которое будет работать под Win, *NIX, MacOS без пересборки. Ну или хотя бы с пересборкой, но без плясок с бубном. У меня перед глазами пример - приложение должно работать всего лишь под тремя версиями win и двумя версиями *NIX. C++-программисты тратят адское количество времени, чтобы заставить код одинаково работать и там, и там. А на Java это делается легко и непринужденно. Вон, сервер приложений скачал, развернул на любой OS, где есть JVM - и работает.
Не существует языка, который априори лучше и удобнее. Иначе бы все на нем писали, а остальные просто вымерли бы. Если язык имеет нишу, под которую он разрабатывался или в которой позиционируется (что не одно и то же) - там он скорее всего хорош. А в других областях не очень. Языки же широкого назначения типа С++ с большой степенью вероятности в узких нишах будут иметь более сильных конкурентов. P.S. Не начинайте холиваров, за это по голове не погладят. P.P.S. Лично для меня в Java наиболее привлекательны автоматическое управление памятью и очень большая стандартная библиотека (полностью переносимая). Учитывая, что я пишу софт, который работает на разных OS с разной архитектурой процессоров и разрядностью памяти - для меня переносимость крайне критична. Равно как и отсутствие необходимости ручного управления памятью.
0
|
21.12.2011, 11:01 | 3 |
Админам, мой пост не для разжигания холливара. Знаю С++ (конечно не так хорошо, как хотелось бы) и Java (уже на более-менее нормальном уровне). Да, сам вначале плевался на последний, говорил что непривычно и бла бла бла. Но со временем привык. В нем отлично действует принцип - один раз сделал и не паришься. А вот с С++ все довольно удобно только при разрабе под Win. И свой диплом, который мне прийдется на С++ писать, очень хотелось бы делать на Java.
0
|
21.12.2011, 12:09 | 4 |
в языках программирования действует принцип целесообразности, например код который не будет высоконагруженным и часто будет меняться лучше писать на языке типа python, коду котрому требуется переносимость между платформами, а также кластерно ориентированному лучше быть на java, высоконагруженному коду лучше быть с++/с, библиотеки с максимальной нагрузкой - вообще на ассемблере. В некоторых случаях даже операционка лишняя (вспомните про аппаратные декодеры mpeg4 на видеокартах и материнках). И кстати никто не ограничивает использовать всю эту катавасию сразу вместе.
0
|
Higher
|
||||||
25.12.2011, 18:16 | 5 | |||||
Я тоже удивился, когда увидел. Думаю, что это из-за мобильных приложений, вроде приложений для Android, которые пишутся в основном на яве.
Можно с помощью, допустим, qt писать, и приложение будет работать с пересборкой. Ну это для графических приложений, консольные по дефолту переносимы(если WinAPI/etc не использовать). С тем что с++ удобнее еще несколько месяцев назад я бы не согласился, сейчас же вышел c++0x, лично мне на нем намного быстрее и комфортнее кодить, чем на яве. Чего хотя бы foreach стоит:
Еще меня быстродействие явы в отчаяние приводит. Я недавно для интереса написал программу, которая считывает 2 числа из миллиона разрядов, складывает их и результат выводит в файл. 7 минут работала =\ Эта же задача на плюсах у меня ровно за секунду отрабатывает.
0
|
25.12.2011, 18:38 | 6 |
Этот форич был сначала у перла, потом его перетянули в java и наконец он попал в ++ ))) И таки да, auto гораздо удобнее чем параметризированный тип.
По поводу быстродействия java - есть некотрые оговорки. Можно так написать код и на ++ чтобы всё маслало в хипе с постоянной переинициализацией и удалением обьектов и оно тоже будет тупить, а можно и на java заглянуть в сырцы OpenJDK и написать так чтобы не тормозило, а вовсю юзало JIT. Хочешь реального быстродействия на java - тогда, после профилирования все тромозные методы выкинь в натив на C и накомпили этих нативов на все целевые платформы. Кроссплатформенность просядет, но скорость вырастет до Cшной.
0
|
Higher
|
|
25.12.2011, 18:58 | 7 |
По-моему писать на java, чтобы в итоге переписать все на С - не самое разумное решение =)
По сабжу: есть еще такой факт, что с++ осиливает далеко не каждый, тогда как java менее требовательна к программисту.
0
|
25.12.2011, 20:02 | 8 |
Тем не менее именно так и поступают на практике. Просто java позволяет забыть про контроль границ памяти на время разработки логической части приложения, а в требовательных к скорости участках иногда приходится обращаться к С и даже больше в этих нативных С внутри самое скоростное делают на ассемблерных вставках. Большинство EE серверов приложений так и написаны. Даже в том же андроиде, игры пишутся именно при помощи JNI.
По поводу осиливания - думаю на начальном этапе java синтаксис проще ++, но потом когда программисты дорастают до энтерпрайз спецификаций и всяких там JSR сложность возрастает в геометрической прогресии. Хотя конечно я должен признать что типичный С/С++ пограммист обладает большими познаниями в железной части компьютера чем java кодер. На мой взгляд с++ надо знать хотя бы на уровне базовых технологий любому программисту на java, это сильно улучшит его программы в плане экономичности по памяти и скорости, просто в силу понимания того что происходит в памяти и на процессоре(хотя в процессоре скорее нужен асм)))
0
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
26.12.2011, 10:50 | 9 | |||||
забываете про веб-приложения (jee)
Действительно, а чего он стоит?
1
|
Higher
|
||||||||||||||||
26.12.2011, 12:15 | 10 | |||||||||||||||
Суперкласс это другое.
Такой, к примеру, код не прокатит:
А вот на плюсах можно
А почему тогда такой код не изменяет строки?
А вот на плюсах можно явно передавать по ссылке либо по значению. Хм... Если уж терять кроссплатформенность, то не лучше ли ее терять с с++? Во-первых в нем намного проще делать Сшные вставки, во-вторых можно их и не делать, т.к. с++ по скорости ненамного отстает от С. пруф
0
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|||||||||||
26.12.2011, 13:02 | 11 | ||||||||||
Надо приводить к типу
0
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|||||||||||
26.12.2011, 13:20 | 12 | ||||||||||
Потому что первый цикл эквивалентен следующему:
А теперь сделайте так:
0
|
Higher
|
||||||
26.12.2011, 13:47 | 13 | |||||
Это еще менее удобно, чем просто указать тип =\
Не только строки. Можно создать массив Integer'ов, и попробовать его изменить - также не получится. При передаче по ссылке должен передаваться указатель на объект и автоматически разыименовыватся. И после такой записи
Опять же, если поставить вывод в цикл, то в теле цикла строки изменяются, а после цикла остаются прежними. Добавлено через 17 минут Хотя я разобрался. String и Integer передаются по значению, а самописный класс - по ссылке. Хотя и String и Integer вроде как являются объектами =\ Точнее они являются типами, но переменные их типа должны являться объектами.
0
|
26.12.2011, 19:28 | 14 | |||||||||||||||||||||||||
java, если смотреть по удобству создания и использования классов, проигрывает с++ только в невозможности перегрузки примитивных операций (+-*/==!= и тд), отсюда и костыли с equals() ставящие в тупик c|c++ников
Для меня лично напряжным кажется овертайп когда пишут:
(если я не вздумал их перегрузить), также при этом по ним можно было бы создавать дефолтный hashCode(). Гораздо ведь легче в конструкторе одной строкой nodefaults = true; отменить это поведение для экономии памяти, чем клепать всю эту катавасию на клавиатуре, пусть даже для этого и посоздавали удобства в IDE. Самое неприятное, что невозможно свичнуться по строке вот так
вот хотябы такой конструкцией
0
|
10 / 10 / 1
Регистрация: 26.02.2011
Сообщений: 112
|
|
22.04.2012, 12:18 | 15 |
0
|
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
|
|
22.04.2012, 14:28 | 16 |
в джаве оче не хватает аналогов LINQ и кейс классов вместе с паттерн матчерингом
0
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
23.04.2012, 10:12 | 19 |
В середине 2010-го было то же самое. Потом С опять скатился, к началу 2011-го. Ну и?
0
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
23.04.2012, 13:31 | 20 |
TIOBE, как по мне, уже теряет актуальность и объективность. Я могу объяснить прирост Objective-C на 30%, но вот VB.NET и PL/SQL на 200% - никак
0
|
23.04.2012, 13:31 | |
23.04.2012, 13:31 | |
Помогаю со студенческими работами здесь
20
Самый популярный язык программирования на сегодняшний день Популярный язык программирования для разработки под Linux Самый простой язык программирования Самый худший язык программирования? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |