C++ || JAVA

Farsh

~ on ~ high ~ wave ~
C++ || JAVA

Хочу начать изучать какой-нибудь из этих двух языков , никак не могу определиться .
Если будут вопросы "зачем?" - хочу развиваться дальше и как можно быстрее .
Я не думаю что мне придется прыгать с одного на другой в будущем , поэтому собираюсь выбрать что-то одно -)
Платформа - linix . ( хотя наверно временно )
В данный момент хочу сделать связку с PHP .
Все таки на чем посоветуете оставить выбор ?
 

StUV

Rotaredom
хочу развиваться дальше и как можно быстрее
выбирай любой - до второго доберешься при необходимости

Я не думаю что мне придется прыгать с одного на другой в будущем , поэтому собираюсь выбрать что-то одно -)
вообще - различные ЯП предназначены для своего круга задач
если ты уже знаешь зачем тебе это - почитай соответствующие статьи в нете на тему "c++ vs. java - с точки зрения сфер применения" (но ессно не тупые холиварные флеймы)
 

Alexandre

PHPПенсионер
выбирай любой - до второго доберешься при необходимости
+1
+ изучай Основы профф. программирования Unix
я начинал с http://www.books.ru/shop/books/503720


Я не думаю что мне придется прыгать с одного на другой в будущем , поэтому собираюсь выбрать что-то одно -)
ну не скажи... специализироваться надо на одном, но вот в жизни пригодятся оба...
В данный момент хочу сделать связку с PHP
в частности можно об этом по подробнее.
 

Farsh

~ on ~ high ~ wave ~
Автор оригинала: Alexandre
+1
+ изучай Основы профф. программирования Unix
я начинал с http://www.books.ru/shop/books/503720
!как раз собираюсь заказывать именно эту книгу с этого же инет магазина ;-)
P.s. линукс захватил меня ;)
Автор оригинала: Alexandre
в частности можно об этом по подробнее.
Эту фразу можно опустить ;-)
А вообще, тот же гугл как работает - python как оболочка ( наверно ) + вся обработка данных на C++/java .
Я собираюсь в ближайшем времени делать серезный СЕО сервис по тому же типу .
( что тоже не имеет к теме особого отношения , так как можно это сделать с тем же успехом только на PHP ,
а сам смысл - просто интересно и хочецц0 ;-) )

-~{}~ 10.06.08 20:26:

Автор оригинала: Alexandre
ну не скажи... специализироваться надо на одном, но вот в жизни пригодятся оба...
Отсюда вопрос - а на каком именно специализироваться :)

-~{}~ 10.06.08 20:28:

http://en.wikipedia.org/wiki/Comparison_of_Java_and_C++ - вот отличное сравнение , правда оно мне ничего не дало в плане выбора =)
Только если мультипоточность , тогда все таки JAVA :)
 

berkut

Новичок
оно как-бы ява и ццц на разных уровнях работают. чё тут выбирать-то.
 

Alexandre

PHPПенсионер
тсюда вопрос - а на каком именно специализироваться :)
на сях... однозначно, джава - энто оболочка или как они называют - виртуальная машина, которая опять же написана на сях, а посему она имеет свои ограничения ... делайте выводы.
Только если мультипоточность , тогда все таки JAVA
до мультипоточности еще дожить надо ;)
А вообще, тот же гугл как работает - python как оболочка ( наверно ) + вся обработка данных на C++/java .
насмешил :)

интегрировать РНР и Си можно несколькими способами. С Джавой проще - есть порт к джавовским классам.
1) использовать собственные расширения http://devzone.zend.com/node/view/id/1021
2) использование средств межпроцессного взаимодействия
3) просто как запуск внешних программ(утилит) через system/popen...

в общем выбор широк.
 

maxwell

artifex
Alexandre, ууу, по поводу джавы у вас заблуждения :)


Farsh начинай с паскаля )
На самом деле программист легко освоит любой язык программирования за 1-2 недели.
 

Farsh

~ on ~ high ~ wave ~
Всем спасибо , начинаю с C ;)
Только обидно что у нас в продаже лишь первая серия книги Страуструпа ,как на амазоне есть третья ( хотя странно что она 2000 года ) .
Насколько я понимаю что читать стоит только ее ? ( для начала )

-~{}~ 11.06.08 02:47:

из книг беру ту , что упомянута выше и парочку по CSS , что нибудь ещё порекомендуете сразу взять ?
 

nerezus

Вселенский отказник
Farsh
только ты не с C начинай, а с C++. Это абсолютно разные языки с разными подходами и областями применения.

Из общего у них только кусок синтаксиса.
 

nerezus

Вселенский отказник
Сергей Тарасов
Потому что он считает, что технология слабее только из-за того, что она не компилится в натив.

Это все равно, что считать, что мерседес круче запорожца, т.к. для охлаждения ему нужна вода, а запорожец обходится воздухом.
Т.е. делать вывод из утверждения, которое никаким боком не относится к этому выводу.
 

kode

never knows best
Автор оригинала: Alexandre
на сях... однозначно, джава - энто оболочка или как они называют - виртуальная машина, которая опять же написана на сях, а посему она имеет свои ограничения ... делайте выводы.

до мультипоточности еще дожить надо ;)
насмешил :)

интегрировать РНР и Си можно несколькими способами. С Джавой проще - есть порт к джавовским классам.
1) использовать собственные расширения http://devzone.zend.com/node/view/id/1021
2) использование средств межпроцессного взаимодействия
3) просто как запуск внешних программ(утилит) через system/popen...

в общем выбор широк.
> джава - энто оболочка или как они называют - виртуальная машина

неверно - Java это язык программирования использующий Java Virtual Machine для абстракции от аппаратно-программной платформы, а виртуальные машины разные бывают (разные реализации). А ещё бывают разные языки к этой вирт. машине.
К яве идёт разный комплект кроссплатформенных библиотек: J2SE (в опсновном десктопные приложения) , J2ME (для мобильных платформ), J2EE (сложные корпоративные программы и веб (сервлеты))

> до мультипоточности еще дожить надо ;)
Не смешно, мультипоточность делается:

PHP:
new Thread(
    new Runnable{
        public void run(){
            System.out.println("Это уже в другом потоке"); 
        }
    }
).start();

//либо

class MyClass implements Runnable {

public String my_var = "Hello";

public MyClass() {
Thread thread = new Thread(this);
thread.start();
}

public void run(){
synchronized(this.my_var){
this.my_var = (this.my_var == "Hello")?"Good bye":"Hello";
System.out.println("I said "+this.my_var);
}
}

}
В Сях (или СПП) нужно немного больше постаратся, причём не кроссплатформенно

> С Джавой проще - есть порт к джавовским классам.
> 1) использовать собственные расширения http://devzone.zend.com/node/view/id/1021
> 2) использование средств межпроцессного взаимодействия
> 3) просто как запуск внешних программ(утилит) через system/popen...

4) http://ru2.php.net/manual/en/java.examples.php

-~{}~ 11.06.08 10:14:

в итоге получаем:

Си - низкоуровневый язык, быстрый, но сложный. Нативно не кросс компиляторный/платформенный, много библиотек, много велосипедов. Изучать несложно, но для того чтобы нормально с ним работать надо понимать много аспектов работы компьютера (работа с памятью и её устройство, как происходят вызовы). Чтобы писать на сях нужно немного опыта и мозгов, мусор за собой убирать надо самому.

Ява - высокоуровневый язык, более медленный, но гораздо более простой. Много хороших библиотек, быстрая скорость написания, удобные IDE, по сложности сопоставим с Похапе. Мусор убирать не надо, как и в PHP.

В результате советую тебе сначала изучить более простую Java, а потом переключится на C/C++
 

Сергей Тарасов

Профессор
nerezus

На самом деле уже пошел флейм.
Сравнение Java и С++ само по себе не корректно. Два языка программирования с совершенно разными областями применения и решаемыми задачами.

Тем более глупо вести дискуссию, учитывая что большинство здесь не выходят за рамки PHP, разве что на бытовом уровне.

Но исходя из тех описаний, которые дал автор топика, он хочет получить производительность ("Я собираюсь в ближайшем времени делать серезный СЕО сервис по тому же типу"). В данном случае можно посоветовать ему копать в строну C/C++.

А вообще... не хотелось бы продолжать эту дискуссию. В аспекте PHP она не совсем корректна.
 

Wicked

Новичок
Сергей Тарасов
( что тоже не имеет к теме особого отношения , так как можно это сделать с тем же успехом только на PHP ,
а сам смысл - просто интересно и хочецц0 ;-) )
если говорит, что можно сделать и на пхп, то явно не в производительности дело.
 

phprus

Moderator
Команда форума
kode
Apache/mod_php4/ZendOptimizer:
PHP-скрипт = 363, 380, 325, 349, 351
Статичный HTML = 365, 315, 420, 288, 320

Tomcat 5.5.20/Groovy 1.0.6/JDK 1.6
GroovyServlet = 1375, 889, 1203, 1367
Статичный HTML = 2070, 2155, 1865, 2105
Авторы утверждают, что их "сервер" при использовании mod_php4 может обработать только порядка 400 запросов в секунду к !статичным! файлам, а при использовании Tomcat это число возрастает до 2-х тысяч? Интересно за счет чего такая разница в производительности?
Это что-же они сделали с сервером, что апач так жутко тормозит?
 

kode

never knows best
phprus
могу лишь предположить что апач уже был под нагрузкой во время тестирования
 

Alexandre

PHPПенсионер
На самом деле программист легко освоит любой язык программирования за 1-2 недели
maxwell значить я тупой, у меня ушло более месяца на освоение VS 6.0 при базовом знании С++


оффтоп:
что мерседес круче запорожца, т.к. для охлаждения ему нужна вода, а запорожец обходится воздухом
запорожец круче мерса тем, что он отлично ходит по бездорожью, и особенно класно при поездки в лес.
что очень актуально в Российской глубинке.

В Сях (или СПП) нужно немного больше постаратся, причём не кроссплатформенно
ну-ну а условную компиляцию уже отменили??

Ява - высокоуровневый язык, более медленный, но гораздо более простой. Много хороших библиотек, быстрая скорость написания, удобные IDE, по сложности сопоставим с Похапе.
хорошие IDE разработаны и для Си
много хороших библиртек есть и для си,
согласен, для джавы их гораздо больше.

на счет кросплатформенности джабы- это можно поспорить. многие классы, особенно десктопные, скомпилированные под одну платформу, надо перекомпилировать под другую, т.е. сама идея байткода не во всех случаях 100% применима.

для веб разработки советую совместить J2EE и Си (использовать в наиболее критичных местах)
в настоящий момент я начинаю работу над одним проектом, который представляет графический сервер с WEB интерфейсом (решаются задачи распознования образов распознование ). Проект будет Apache/PHP/C++ К сожалению J2EE здесь не справится.
чтоб не было лишних помидоров: нагрузка не высокая, по этому выбор WEB сервера не принуципиален.
PHP - идеальная среда Controller-View уровня МVС, а сама модель или обработка будет вестись на Сях.
c такойже вероятностью можно было бы использовать Tomcat или JBoss с вызовом сишных модулей (благо в джава есть порт в си),
исторически сложилось что PHP я знаю лучше.

-~{}~ 11.06.08 12:41:

> С Джавой проще - есть порт к джавовским классам.
4) http://ru2.php.net/manual/en/java.examples.php
и что - это разве не порт в джаву?????
 

phprus

Moderator
Команда форума
kode
могу лишь предположить что апач уже был под нагрузкой во время тестирования
А не маразм ли тестировать нагрузоустойчивость чего-либо в случае если помимо тестовой нагрузки на сервере есть еще неконтролируемая и случайно распределенная во времени и по характеру нагрузка?

Сейчас ради интереса померел с какой скоростью отдает статические странички апач установленный на моем ноуте (ОС линукс), так апач показывал результаты в районе 5к запросов в секунду при 50 параллельных соединениях к нему. nginx установленный рядом давал результат в 8к-9к.
 
Сверху