Java очень похожа на C++; поэтому вполне естественно прийти к выводу, что C++ будет вытеснен Java. Однако этот логический вывод вызывает у меня некоторые сомнения. В любом случае, C++ имеет ряд особенностей, которых нет в Java. Кроме того, несмотря на множество заявлений о том, что когда-нибудь Java достигнет или превзойдет скорость выполнения C++, это пока не произошло (хотя скорость выполнения Java действительно продолжает расти, она все еще не догнала C++). К тому же, во многих областях существует огромное количество энтузиастов C++. Поэтому я не считаю, что этот язык скоро будет заменён другим (сила энтузиастов нельзя недооценивать. Например, на моём семинаре по "среднему/высшему уровню Java", Allen Holub заявил, что самыми распространенными языками являются Rexx и COBOL).Я чувствую, что преимущества Java проявляются в разных областях по сравнению с C++. C++ — это язык, который никогда не пытается соответствовать какому-либо шаблону. Особенно его формы могут меняться множеством способов для решения различных типов задач. Это хорошо видно на примере таких инструментов, как Microsoft Visual C++ и Borland C++ Builder (мой любимый). Они объединяют библиотеки, модели компонентов и средства генерации кода для создания оконных конечных пользовательских приложений (для операционной системы Microsoft Windows). Но с другой стороны, какой инструмент наиболее часто используется Windows-разработчиками? Это Microsoft Visual Basic (VB). Конечно, здесь мы можем пропустить тот факт, что синтаксис VB может быть крайне запутанным — даже небольшая программа из нескольких страниц может порождать трудноподдерживаемый код. Из точки зрения дизайна языка, хотя VB и является таким успешным и популярным, он также имеет значительные недостатки. Лучше иметь мощность и удобство использования VB, но при этом не создавать трудноподдерживаемый код. Именно это делает Java такой привлекательной: как "следующее поколение VB".Независимо от того, какие чувства вызывают эти заявления, важно понимать, что много работы было проделано над тем, чтобы сделать Java удобной для программистов для решения задач уровня приложения (например, сетевых и многоплатформенных графических интерфейсов), так что она позволяет людям создавать очень большие и гибкие основные программы. При этом стоит отметить, что Java также имеет самую "крепкую" систему проверки типов и управления ошибками среди всех языков, которые мне известны до настоящего времени. Таким образом, Java действительно повышает нашу производительность в программировании. Это бесспорно! Но можно ли без колебаний заменить C++ на Java в рамках какого-то конкретного проекта? Независимо от веб-приложений, существуют два важных вопроса, требующих рассмотрения. Во-первых, если вам требуется использовать большое количество уже существующих библиотек (что, конечно, повысит эффективность работы), или если у вас есть прочная база кода на C или C++, переход на Java может замедлить процесс разработки вместо того, чтобы его ускорить. Однако, если вы планируете начать с нуля и создать все свои собственные компоненты, простота использования Java действительно поможет значительно сократить время разработки.Наиболее значительной проблемой является скорость выполнения. В первых версиях Java интерпретатор, исполняющий Java-код, работал примерно в 20–50 раз медленнее, чем аналогичный код на C. Несмотря на то, что со временем производительность была существенно повышена, она все еще заметно уступает скорости исполнения кода на C. Для компьютера скорость выполнения — это ключевой фактор; если программа не выполняется значительно быстрее на компьютере, ее проще было бы написать вручную (некоторые рекомендуют использовать Java во время разработки для ускорения этого процесса, а затем преобразовать код в C++ с помощью специального инструмента и набора библиотек, чтобы получить более высокую производительность).Чтобы сделать Java подходящей для большинства веб-проектов, ключевым моментом становится улучшение скорости выполнения. Здесь приходят на помощь так называемые "виртуальные машины" Just-In-Time (JIT) компиляторы, а также компиляторы на более низком уровне (на момент написания книги две такие технологии были представлены). Конечно, использование таких компиляторов приводит к тому, что скомпилированный код больше не будет выполнять задачи cross-platform, но вместе с тем обеспечивает значительное увеличение скорости выполнения, которая может приближаться к скорости выполнения кода на C и C++. Кроме того, перекомпиляция программ на Java должна быть намного проще, чем перекомпиляция на C и C++ (теоретически достаточно просто перекомпилировать код, хотя на практике это всё ещё представляет собой сложную задачу; другие языки также делали подобные заявления). В приложении данной книги представлены сравнения с Java/C++, наблюдения относительно текущего состояния Java и правила оформления кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )