Эта небольшая статья предназначена в первую очередь для тех людей, которые хотят определиться, какой же язык программирования изучить, чтобы и времени заняло немного, и написать на нем что-то более-менее серьезное можно было, и при этом еще и заработать. Заработок, конечно, подразумевается такой - написание небольших программ для рассылок, всевозможных чекеров-реггеров, словом, автоматизация работы с 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 - все они имеют си-подобный синтаксис в той или иной мере.
Что еще можно посоветовать людям, решившим заняться заработками в области разработки подобного софта? Правильно спланируйте, как вы будете поддерживать свои программы. Готовьтесь к тому, что чем больше копий вы продадите, тем больше вопросов вы получите от пользователей. А уж если софт выйдет из строя... (а он обязательно когда-то выйдет, весь софт подобного рода долго не живет в силу изменений на сайтах, с которыми он работает, порой очень масштабным). Что же делать? В первую очередь, еще до продажи, создайте базу самых часто задаваемых вопросов касаемо вашей программы. По мере того, как пользователи будут обращаться к вам, добавляйте их вопросы в эту базу, если, конечно, они не слишком частные. Во-вторых, если у вас будут какие-то средства, наймите себе более-менее опытного саппорта, пусть на вопросы отвечает от, а вы пока спокойно займетесь улучшениями и расширением функционала программы. Наконец, услуги обновления и поддержки можно сделать и платными, но тогда нужно быть готовыми к тому, что количество покупателей несколько уменьшится, особенно, если ваша программа не очень хороша и имеет малое количество положительных отзывов.
Ах да, не гнушайтесь тем, чтобы просить покупателей, которых ваш софт устроил, написать в ваши темы на форумах с продажей софта отзыв. Для пользователя это пара минут, а ваш топик окажется вверху списка и вы получите порцию новых покупателей.
И еще. Чтобы повысить продажи, софт можно отдать на проверку. После проверки модератор отпишет в вашей теме, что софт работоспособен, и покупатели потянутся к вам. Зачастую проверка производится бесплатно, а иногда даже принудительно.
На этом мои советы заканчиваются. Удачи вам в начинаниях и заработках, старайтесь писать хороший софт, тогда и покупатели будут всем довольны, и на ваши плечи меньше хлопот свалится.
Неужели борланд с++ еще жив? Какие в нем есть стандартные функции, которых нет в gcc/vc++?
Конечно жив, видимо из-за VCL и Indy.
А, что на счет питона, он подойдет для разработки подобного софта?
Подойдет, но придется столкнуться с теми же проблемами, которые и у перла есть. В питоне разве что потоки нормально реализованы.
Про Perl написано: " сложен для изучения, а исходные коды на нем часто трудночитаемые. "
А у Python - все наоборот: он прост для изучения и исходные коды на нем легко читаемые.
Интересует доступная для новичка литература С++, разного рода самоучители по которым учились вы сами ну и прочее, очень интересна эта тема а в универе только на 3 курсе будут давать С++ влом ждать пол года. Можно ссылку тут или на мыло [email protected] Уже интересовался этой темой немного ранее и доучидся до уровня "Hello World" =)))
+1 за python.
Мне кажется. C++ не совсем подходит под определение "Языки программирования для быстрого заработка". Он слишком сложный для написания парсеров\регеров\etc.
Да, и как насчёт java? Чем-то похоже на C#, так же требует установленной java. Как у java с многопоточностью?
В контексте борланда нет в нем особых сложностей. Для регулярок можно буст подключить, да и в инди вроде было что то такое...
Насчет java, увы, ничего сказать не могу путного, не имел с ним дел. А Borland C++ действительно значительно упрощает разработку софта на С++ за счет обилия всяких компонентов и библиотек, написанных за нас.
js нету ( а хотел бы...
но за статью спасибос огромный)
На js вряд ли получится автоматизировать работу с web. Если использовать тот же ajax, то там ни referer не подделать, ни кукисы толком.
Зато есть node.js :)
Подписываюсь под каждым словом.
Насчет регулярок в борланде - есть:
1) TRegExpr - написан на дельфи, но естественно можно юзать и в билдере. Несмотря на многолетнюю историю, когда дельфи не была юникодной, автор явно не гавнокодил, и уже тогда написал универсальную вещь, работающую даже в современных юникодных BDS. К тому же модуль быстр и удобен.
2) Есть ActiveX компонент в поставке винды, точное название не помню.
3) В последней BDS класс для работы с регулярками входит в RTL. Имеет интерфейс похожий на System.Text.RegularExpressions из .NET, потому также вполне удобен.
А вообще, я бы посоветовал C#. Как-бы и на подобного рода софте можно заработать особо не напрягаясь, и к тому же заодно скиллы нарастить по одному из многообещающих и популярных ныне языков.
паскаль +1
Есть мнение, что возможно следует использовать связку Perl + Delphi. На первом пишем собственно скрипты. На втором - графическую оболочку (5 минут работы) и распараллеливание процессов. Кроме того, Delphi-оболочка должна проверять наличие Active/Strawberry Perl и необходимых CPAN-модулей и если таких нет - скачивать и устанавливать. Таким образом и программист доволен - скрипты легко пишутся, графическая оболочка за 5 минут, не нужно объяснять, как запускать скрипты; и пользователь - запустил экзешник, он тебе все сделал, а если шаришь - можно и скрипты заюзать.
Некоторые фанаты любят рассылать в 100+ потоков. А в случае с перлом это слишком много памяти сожрет.
Это смотря как писать. У меня на вполне среднем компьютере скрипты в 128 потоков нормально работают.
И как надо писать? Perl использует pthreads помнится, так там каждый поток после старта уже ~2mb памяти забирает. Много ресурсов на пустом месте, на компилируемых языках лучше получится в любом случае.
"И как надо писать? Perl использует pthreads помнится, так там каждый поток после старта уже ~2mb памяти забирает."
Не нравится реализация pthread - используйте fork. И еще я вас попрошу привести пруф инфы по поводу 2 Мб/поток. И заодно сравните с объемом памяти, выделяемой самой ОС, которую Вы используете.
Толку от форка, все равно куча памяти. Пруфы были где-то на монках, поискать надо. Причем тут это?
На практике можно убедиться в том, что perl сожрет огромный объем памяти по сравнению с приложением на шарпе или с++, если создаст ~200 потоков.
Хотя я и считаю это извращенством, но ведь на Perl можно написать оболочку на Tk и скомпилить (какимто не помню каким компиллером но такой точно есть :)) ), да ещё и отпадает надобность ставить мудули интерпритатору, но конечно размер такого чуда не очень радует, да ещё и с некоторыми модулями он говорить не хочет, например у меня с Net::OSCAR он не заговорил :\
Пишу на C# - нравится.Вот хочу выучить python либо perl, для чего - не знаю :), просто хочется и все, для разносторонности :).
С нуля сколько времени нужно при изучении ПХП с фанатизмом?
Век живи - век учись !
Нубы, brainfuck - вот что трендово щас.
немного не по теме конечно, Каими не можешь подсказать книжек по ботоводству?
Эм, что есть "ботоводство"?
Автор - нуб. Ты уебское создание ты просто опускаешь пхп. Лохушка ты сам то его знаешь?? На пхп делают деньги - это факт. без пхп уровень сайтов не было бы так высок... Автор - нуб.
Толсто, очень толсто
Почитай блог, тут есть всякие скрипты от меня на php, и успокойся. Толсто, да.
> без пхп уровень сайтов не было бы так высок…
а еще ебал ее рука
dx, ты лурочки перечитал? А то у тебя, все быдло и быдлокодеры.
Алсо, ты сам быдло и хуйло. ороро
Ничего кроме пэхопэ не знаешь?
Одна из целей данной статьи - заставить таких, как ты, срать кирпичами.
Цель достигнута.
На пхп не быдлогажу, понел да?
И с чего бы мне высирать кирпичи?
dx, кто как абзываетса - тот так и называетса :3
Таки ви бидло!
Успокойся,когда dx начал программировать ты еще под сталом ползал.
P.s.dx скучаю по тебе возрощяйся на ачат прихвати кайми,не хватает вас
Э бля :) мужики че за бубуйня?) читайте вышел - какую литературу по С++ новичку посоветуете, кто как изучал какие методы лучше усваиваются? влом ответить чтоли... :(
"Язык программирования С++. Вводный курс" Стенли Б. Липпман
выше* xD
забей на C++ я начал изучать повесился,возьмись за шарп,но если под линь писать будеш то продолжай учиить С++
шарп в смысле C SHARP ака С#? просто еще в гугле гдето мелькнуло F sharp не понял к чему относится :Р
как шарп проще С++ в изучении??
какие учебники лучше взять для новичка с подрбным описанием, так же интересны сайты с готовыми работами, видео уроками, полезной информацией, форумы с подобным контентом и контенгентом :)
C# троелсена возьми понятный вроде
погуглил и взял герберта шилдта :) отзывы о нём хорошие ну и вроде глазу приглянулось примеров у него много
как я понимаю С# подходит для всех системных нужд, а вот например софт работающий с веб можно будет написать, т.е. и спамеры хочется интересные делать но и не углублятся в них отдельно, а делать софт на заказ пусть по невысокой цене чтобы руку набить...
счас пол спам софта и тд на шарпе делают .нет фраемворкн
А почему забыл про Java ??? Как раз это то самый язык который очень подходит для написания сетевых программ... в нем изначально заложена многопоточность и много сетевых фишек + он кроссплатформенный
Чего далеко ходить, гугл работает на Java )))
Ага, только качать JRE придется. Люди в основном используют либо *nix, либо win. Те же программы на C# можно вполне успешно запускать под wine. Не вижу преимуществ Java перед C#, если стоит цель писать всякий прикладной сетевой софт на продажу или для себя.
А на счет Google, они же вроде Python использовали.
>>Ага, только качать JRE придется.
А для PHP нужно качать php-5.4.1-Win32-x86.zip
А для Perl нужно качать ...
Я скажу только одно преимущество - java на *nix работает лучше за C# под wine.
А для php и perl есть perl2exe и php2exe, которые позволяют создать готовый для дистрибуции пакет адекватных размеров.
Зачем С# под Wine если есть Mono?
А о QT что нибудь скажете?
QT - это просто библиотека для упрощения и ускорения разработки, а не язык программирования.
Советую учить именно Java, Google использует его в своем Андроиде и ГВТ. Для Андрюши можно использовать и другие языки, потомучто в итоге код транслируется в Далвик байткод. В ообщем Google это двигатель..
А по поводу статьи могу сказать, только то что обсалютно не важно на чем вы будете писать, главное чтоб людям это нравилось и они пользовались.. Фэйсбук написан на ПХП кстати..
Есть цели, и есть подходящиее наиболее всего для этих целей языки. На php неудобно писать криптор файлов, а на с++ - веб-сайт, ну и т.д.
Имхо Перл давно устарел, надо учить Питон - там и многопоточность на уровне, и язык простой.
И какой критерий "устареваемости" языка? Суть в быстром заработке, а не в "что начать учить, чтобы в будущем стать профессиональным программистом"
сам ты устарел !
А начинать учить кодинг надо с ассемблера. Этот современный кодинг здорово портит людей, уча их во всем полагаться на компонент, не понимая как собственно этот компонент работает. Учить с Явы или Сишарп - все равно что объяснить человеку, что лампочка горит потому, что бог так захотел, вместо того чтобы учить про фазу и электроны.
В общем-то согласен.
Но с асм - это слишком. Считается надо учить со связки c/c++.
Хотя я когда начинал попал именно на C sharp..и не сказать, что бы это меня испортило. Скорее портят статьи, как и что сделать. Если почитать братьев Албахари, то быстро понимаешь, что знаешь мало и углубляешься в API..
А работая с ООП складывается своеобразное мышление, которое очень помогает в дальнейшем
Я так понял надо начать с C++, а потом и все остальное можно =)
Если кто заинтересовался тут очень много специализированной литературы по всем языкам =)
http://www.proklondike.com/books.html
хы, сюда стоит еще добавить такую вещь как портфолио.
То есть грубо говоря, сначала ты работаешь на имя, потом имя на тебя.
Готовьтесь что какое то время придется писать программы за 30$, но постепенно можно поднимать планку.
Еще 1 совет начинающему фрилансеру, цени свой труд, даже если ты и пишешь по готовому ТЗ, техническую сторону в большинстве случаев придется реализовать самому.
«Язык программирования С++. Вводный курс» Стенли Б. Липпман - не советую для новичка, если это имеется в виду та, которая у меня на столе лежит, 2003 года выпуска в мягкой обложке.
Название книги "Вводный курс" - не предполагает упрощенного или облегченного материала. Для новичка она имхо сложна.
А Борланд услужливо нам все преподносит на тарелочке. Почему нет упоминаний об услужливости среды разработки языка C#? Примерно все тоже. Та же формоклепалка, те же классы и тд.
Статья выглядит скорее как критика языков =), а в целом интересно. Мог бы еще добавить о скриптовом языке ahk , он очень прост и компилируется в exe. Куча готовых библиотек. в том числе для работы с сетью. Думать много не придется. Формоклепалки нет, но гуи пишется одной строчкой.
На счет VS C++ согласен, тяжело.. все пишут в основном на Borland С++
Это для меня тема ахахахах, это я постучал в асю и спрашивал какой язык учить)))
ну может еще кто спрашивал, я не знаю :)
Borland C++ Builder - это такой же "C++", как Delphi - "Pascal".
Статья заставила очень засомневаться в профессионализме автора.
Статья - это видимо "накипело" :). Энтузиасты не пишут софт ради наживы, тем более спам софт. Естественно, что они выбирают себе для работы лопату полегче.
Никидал кнопок на форму, добавил компонентов, и все- побежал создавать тему о продаже "софта" на античате, потом, немного погодя, сам себе оставил положительных отзывов со "странных" анкет, у которых (сообщений -0, репутация -0))
а.. ну да, они ожидали сутки для активации анкеты, чтобы оставить отзыв спустя полгода после активации)
Кругом показуха, вранье.
>> Borland C++ Builder - это такой же "C++", как Delphi - "Pascal".
Статья заставила очень засомневаться в профессионализме автора.
он такой же в "типичности" использования среды.
Вы лучше усомнитесь в своей адекватности.
Так какой язык вы всё таки советуете? для заработка?
Я вот Perl приметил...ближе к PHP всё таки и тут на блоге вы много о ней пишете)
Для себя - любые скриптовые, на продажу - лучше компилируемые.
Мотивы упоминания Delphi и Perl вообще непонятны. Это - фактически трупы, с помощью которых уже ничего не создается. И рекомендовать их для заработка по меньшей мере странно.
12 и 9 место в рейтинге языков на момент публикации статьи (2010 год).