C++ или Java for web ?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by PalpatineP, 16 Dec 2010.

  1. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Хочу начать изучать какой нибудь "настольный" язык программирования. На данный момент я знаю PHP и JS. Программирую всего один год.
    C++ vs Java - самый ярый спор в 07-09 годах. Поднимаю тему ещё раз, т.к. ничего не нашёл про web.
    Хочу писать приложения, связанные с интернетом, с графическим интерфейсом: чаты, спамерки, какие то мини игры.
    Да, спамерки, грабберы, парсеры хочу писать больше всего =)
    Какой язык лучше подойдёт для таких целей ?

    P.S. Знаю что такое ООП и как оно выглядит, понимаю зачем оно нужно, но самому писать в стиле ООП не получалось, знаком с этим плохо...
     
    #1 PalpatineP, 16 Dec 2010
    Last edited: 16 Dec 2010
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Бери тогда делфи и не парься. Ну или если хочешь чтото кросплатформенное, то яву.
    На си++ будет сложнее писать то что ты хочешь. Хотя по сути любой язык даст тебе нормальные возможности. Но делфи проще
     
  3. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    - Для запуска программы написанной на языке java требуется заведомо установленная ява платформа ?
    - Я знаю, что ява не одна. Каковы отличия ?
    - Никто не может подсказать книжку по яве хорошую ?
    P.S. Краем уха слышал, что ява работает медленнее чем C++, с чем это связано ?
    P.P.S. Почему возникает некросплатформенность в одном семействе ОС(Windows и др).
     
    #3 PalpatineP, 16 Dec 2010
    Last edited: 16 Dec 2010
  4. duke_m3

    duke_m3 New Member

    Joined:
    7 Apr 2010
    Messages:
    3
    Likes Received:
    1
    Reputations:
    0
    - Да, требуется Java RE (runtime environment)
    - Насчёт отличий я бы не заморачивался. Юзай JDK от Oracle.
    - К.Арнольд, Д.Гослинг - Язык программирования Java
    Б.Эккель - Философия Java
    - Скорость работы Java будет ниже, т.к. C++ - компилируемый язык, а Java-интерпретируемый

    P.S. http://ru.wikipedia.org/wiki/Java
     
    1 person likes this.
  5. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    1) Для запуска java программы нужна Java Runtime Enviroment. Это не проблема.
    2) Ява одна, но платформы разные.
    J2EE — Java Enterprise Edition, для создания программного обеспечения уровня предприятия;
    J2SE — Java Standard Edition, для создания пользовательских приложений, в первую очередь — для настольных систем;
    J2ME — для использования в устройствах, ограниченных по вычислительной мощности, в том числе мобильных телефонах, КПК, встроенных системах;

    Книжек куча.
    Ява работает намного медленнее чем Си потому что Си/С++ генерят машинный код, который выполняет проц. А Ява генерет код для JVM(виртуальная Java-машина), которая его исполняет. по этому и медленнее выходит. Но в пользовательских приложениях это не сильно заметно.

    >>> Почему возникает некросплатформенность в одном семействе ОС(Windows и др).
    Что ты этим хотел сказать? Проги написанные под Windows будут работать отлично на любой версии, за исключением специфических функций и битности платформы (16/32/64)
    Все следующие версии windows поддерживают предыдущие версии. но не наоборот.
     
  6. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    А как же си шарп?
    или тебе кто-то по ушам проехался что для этого лучше подходят сипласплас и явочка?

    С ООП проблемы - java точно не для тебя. Там нужно быть ООП-нутым до мозга костей.
    С гуями тоже не очень. По крайней мере дифирамбы посвященные swing'у мне еще не попадались.
    Да и в народе принято считать, что дотнет по-быстрее будет.
    Плюс который не отнять у явы - кроссплатформенность. Но с твоими задачами это как-то не очень актуально.

    И кстати то что ты озвучил - не есть разработка под веб имхо.
     
    #6 GhostOnline, 16 Dec 2010
    Last edited: 16 Dec 2010
  7. Chidory

    Chidory Banned

    Joined:
    14 Dec 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Эта небольшая статья предназначена в первую очередь для тех людей, которые хотят определиться, какой же язык программирования изучить, чтобы и времени заняло немного, и написать на нем что-то более-менее серьезное можно было, и при этом еще и заработать. Заработок, конечно, подразумевается такой – написание небольших программ для рассылок, всевозможных чекеров-реггеров, словом, автоматизация работы с web. Если зайти на крупные форумы, такие как antichat.ru, zloy.org, xakep.ru и т.д., мы увидим большое количество объявлений «программистов» с предложениями своих услуг. На деле лишь немногие способны написать действительно стоящий продукт, и потребители знают, что заказывать написание софта следует с осторожностью, иначе можно случайно нарваться на вечно глючащее и плохо работающее г*вно. Разумеется, покупатели этого не хотят и в первую очередь требуют от исполнителя некоторое количество положительных отзывов, примеры работ и демо-версии.
    Итак, мы плавно переходим к вопросу о том, как можно успешно закрепиться на рынке производства подобного софта. В первую очередь следует изучить годный язык программирования (об этом я расскажу далее). После некоторого освоения языка очень неплохо написать какую-либо несложную программу, демонстрирующую ваши возможности, которая была бы нужна людям. Конечно, нужно стараться все сделать хорошо, иначе потребители бесплатной программой пользоваться не будут, не говоря о том, чтобы в дальнейшем заказать у вас софт. По каким-то причинам многие разработчики делают откровенную лажу, а потом еще возмущаются, что пользователи недовольны и ничего не покупают. Второй вариант – делать демо-версию платного софта. Она должна иметь заранее урезанный функционал, чтобы ее нельзя было взломать, а полная версия должна продаваться независимо. Требование к хорошему качеству программы здесь также предъявляется.

    Рассмотрим теперь более-менее подходящие для таких нужд языки программирования.

    1. PHP. Очень популярный язык, очень многие быдлопрограммисты используют его для создания всяких там чекеров, умудряясь при этом эмулировать многопоточность. Я скажу, что язык хорош. Он отлично подходит для создания сайтов, но никак не софта, интенсивно работающего с сетью, потому что он не имеет никакой поддержки многопоточности, а еще он очень медленный. Впрочем, для самых начинающих он подойдет.
    2. C#. Второй язык, который в последнее время заимел огромное количество поклонников, качество кода которых оставляет желать лучшего. Это очень гибкий язык, имеющий огромные возможности, вполне быстрый. Получаются при компиляции именно exe-файлы, а это очень важно для быдла, которое в дальнейшем будет ваш софт использовать. Помните – пользователи не способны запустить консоль, не говоря уже о скрипте на Perl. Они завалят вас тысячей вопросов, если вы сделаете что-то не слишком понятно и очевидно. Проектируйте свой продукт так, чтобы его могла использовать даже обезьяна. Из минусов можно отметить то, что программы на C# требуют установленного .NET framework, хотя в наше время это обычно не проблема. В общем, C# – вполне достойный выбор, быстро изучается. Но мало изучить азы языка, необходимо постигать ООП, классы, предоставляемые .NET framework’ом, правильно организовывать архитектуру кода, и тогда вы допустите минимум ошибок, получите легко расширяемый и быстро поддерживаемый продукт, и пользователи будут всем довольны.
    3. Perl. Раз уж я упомянул Perl, то не грех рассказать и про него. Язык очень хороший и быстрый. Скрипты на нем получаются совсем короткие, а делают они сразу много всего. К сожалению, этот язык достаточно сложен для изучения, а исходные коды на нем часто трудночитаемые. Еще один минус – плохая реализация многопоточности под Windows. Готовьтесь к тому, что несколько десятков потоков в вашем скрипте займут 2-3 гигабайта оперативной памяти. Кроме того, будьте готовы пояснять, как запускать ваши скрипты (к PHP это тоже, кстати, относится).
    4. C++. Наименее трендовый в этой области язык, но все-таки используется разработчиками, которые используют Borland C++ Builder. Тут, в общем-то, требования аналогичные к C#, но exe-файлы, получаемые после компиляции проекта, не требуют .NET framework. Готовых библиотек в Борланде целая куча, интерфейсы создавать просто, так как имеется множество компонентов, словом, время разработки программы сводится к минимуму, и вам даже не придется вникать в глубины C++. А вот правильно продумывать архитектуру в любом случае желательно. За прочие компиляторы типа VC++ или GCC можно даже не браться, так как вам придется самим искать готовые библиотеки, а то и вовсе писать некоторые функции для себя собственноручно. А Борланд услужливо нам все преподносит на тарелочке.
    5. Delphi. См. C++. Тот же Borland, те же возможности и средства, только язык другой. Кстати, Delphi в некоторых отношениях попроще C++ будет, но я бы советоват браться именно за C++, потому что в будущем будет просто изучить и PHP, и C#, и JavaScript, и даже Perl – все они имеют си-подобный синтаксис в той или иной мере.

    Что еще можно посоветовать людям, решившим заняться заработками в области разработки подобного софта? Правильно спланируйте, как вы будете поддерживать свои программы. Готовьтесь к тому, что чем больше копий вы продадите, тем больше вопросов вы получите от пользователей. А уж если софт выйдет из строя… (а он обязательно когда-то выйдет, весь софт подобного рода долго не живет в силу изменений на сайтах, с которыми он работает, порой очень масштабным). Что же делать? В первую очередь, еще до продажи, создайте базу самых часто задаваемых вопросов касаемо вашей программы. По мере того, как пользователи будут обращаться к вам, добавляйте их вопросы в эту базу, если, конечно, они не слишком частные. Во-вторых, если у вас будут какие-то средства, наймите себе более-менее опытного саппорта, пусть на вопросы отвечает от, а вы пока спокойно займетесь улучшениями и расширением функционала программы. Наконец, услуги обновления и поддержки можно сделать и платными, но тогда нужно быть готовыми к тому, что количество покупателей несколько уменьшится, особенно, если ваша программа не очень хороша и имеет малое количество положительных отзывов.
    Ах да, не гнушайтесь тем, чтобы просить покупателей, которых ваш софт устроил, написать в ваши темы на форумах с продажей софта отзыв. Для пользователя это пара минут, а ваш топик окажется вверху списка и вы получите порцию новых покупателей.
    И еще. Чтобы повысить продажи, софт можно отдать на проверку. После проверки модератор отпишет в вашей теме, что софт работоспособен, и покупатели потянутся к вам. Зачастую проверка производится бесплатно, а иногда даже принудительно.

    На этом мои советы заканчиваются. Удачи вам в начинаниях и заработках, старайтесь писать хороший софт, тогда и покупатели будут всем довольны, и на ваши плечи меньше хлопот свалится.

    Взято с kaimi.ru автор d_x
     
  8. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    GhostOnline - с ООП проблемы, но это же не значит, что мне надо писать только на процедурных языках. Это звучит примерно так: "Не катайся на велосипеде, всё равно не умеешь".
    кроссплатформенность - почему не актуально ? вполне актуально =) писать буду не только под себя.
     
  9. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    C# как бы не ЯП, да кроссплатформеность тоже присутствует(конечно после прохода напильником в некоторых ситуациях), и судя по
    это как раз то что нужно.
     
  10. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    PaCo - да, это что я хочу сейчас, что будет дальше не знаю, хотелось бы выучить хороший язык и писать на нём, не хочется учить несколько языков схожих по функционалу.
    Выучить и писать лет 5, не задумываясь о новом языке.
     
  11. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    C++ & Qt - простота в клепании окошек, кроссплатформенонсть (если не юзать мультимедиа функции, то допиливать не придётся)
    Писать надо на чём удобно, а не на том что на первом месте в топе.
     
  12. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    си шарп - не ЯП? Поделись инфой где такие грибы растут.
    Ну значит у нас разное видение. Я ни разу не видел например инвайтер под вк работающий на маке или линуксе =)
    Я тебе советовал программировать только на процедурных языках?
    (для справки: С++, дельфи и многие другие языки поддерживают и процедурный и объектно-ориентированный подход). Процедурные это например Си или Паскаль - а этого я никому для этих задач не посоветую. Джава же изначально проектировалась как "чистый" ОО язык. Там даже сначала классических перечислений не было.
    Ну и чем тебе си шарп не нравится?
    Писать такой софт на нем - легко. Язык актуален, активно развивается, популярность растет, без работы не останешься. А у джавы наступают не лучшие времена, есть мнение что она умирает.
     
    #12 GhostOnline, 16 Dec 2010
    Last edited: 16 Dec 2010
  13. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Да я ничего не говорю про СИ шарп. Вообще я просто выбирал между С++ и Явой, т.к. других языков не знал, ну как, знал что они есть, но думал это всё устаревшее, т.к. все говорят про си++ и яву(для уточнения, "все" - это большинство людей, посты которых я прочитал).
    GhostOnline - на твой взгляд, си шарп лучше си++ для меня, или вообще, си шарп превосходит си++ ?
     
  14. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Учи все основные языки. Потом поймешь для чего.
    т.е. Си, С++, Delphi, C#, ASM можно слегка, Java, PHP, Perl, JS.
    Сегодня ты пишешь одно, а завтра тебе потребуется другое.
    Допустим:
    1) тебе надо написать драйвер или что-то системное. Однозначно Си. Другому тут не место
    2) Тебе надо расковырять код из чужой проги, или отдаладить свой низкоуровненый код - по-любому начальные знания ASM должны быть
    3) Надо написать что-то под телефон то тут тока JAVA в основном пока.
    4) Надо будет написать чтото мощное, но не связанное особо с GUI, то тут тока С++ т.к. гибкость Си и мощность классов.
    5) Потребуется написать сайт - php и c# другие это уже не то. Основа корпоративных сайтой -c#. php всё остальное. питон и перл мало тут популярны. И обязательно с JS столкнешься.
    6) надо чтото большое с гуи, класивое и разными БД и по быстрому - Delphi. Ну или с# но это уже чуть другое.

    так что как не крути, но знать надо все основные языки, конечно не требуются знания профессионала, но основы программирования должен знать для каждого. Потому что никто и никогда не сможет сказать заранее, чем он будет заниматься, через месяц или год. Всё может измениться в любой момент.
     
    1 person likes this.
  15. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Спасибо, да, я думаю в конечном итоге так и будет. А сейчас стою перед выбором, есть большое желание выучить, но мало свободного времени. По этому собственно и выбираю. Было бы времени больше, учил бы всё подряд..
    PHP и JS знаю, поэтому некоторый опыт в программировании имею(1 год).
     
  16. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Один язык не может превосходить другой в общем, а только в частности, применимо к области задач.
    В данной ситауции си шарп все же подходит лучше.
    На С++ требуется больше знаний и опыта, там проще совершить ошибку. В таком софте его достоинства не так нужны, как простота и удобство си шарпа. Да и си шарп тоже уже становится мощным языком, хотя бы почитать что майкрософт замутили щас с асинхронностью.
    Вот я 1.5 года занимался дельфи.. Многого добился, но с трудоустройством на этом языке проблемы. И зря как сейчас думаю потратил это время, рубил бы уже в шарпе нехило.

    Так, хватит соплей у меня предложение к модераторам раздела: т.к. такой вопрос задают очень часто, и это зачастую приводит к срачу и флуду то почему бы не написать краткий обзор типа "Какой язык выбрать для создания сетевых приложений", а такие темы запретить создавать в правилах?
     
  17. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 GhostOnline а такое подобное есть. тока тема уже устарела.
    https://forum.antichat.ru/thread89681.html
    Можно конечно сейчас заново переписать и соструктурировать всё но на это время надо
     
  18. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Delphi, C# ну или Java.
    C++ не советую тебе.
     
  19. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Да, было бы круто.
    Спасибо за совет, скорее всего с си шарпа и начну.
    Нету на примете хорошей книги?
     
  20. PalpatineP

    PalpatineP New Member

    Joined:
    14 Dec 2010
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    почему ?
     
Loading...