|
|
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, нужны Ваши советы. Знаю, что такие темы подымались и не один раз, поэтому заостряю внимание на некоторые моменты уникальности вопроса. Просьба держатся в близь вопросов во избежание дискуссий в стиле холивара (знать какой круче мне не интересно). Вопрос. Владею на среднем уровни php программированием, по сути программист любитель для своих сайтов. Но иногда нужно писать небольшие скрипты - улилитки, и нужно чтобы программка была "откомпилированна" чтобы не подымать php или веб сервер на разных машинах. Для это хочу выбрать высокоуровневый язык программирования, конечно многие советую изучать несколько, но я сторонник идеи – что лучше "одно но хорошо чем много но средне", поэтому к вопросу выбора подхожу очень серьезно (так как определяю для себя тот единственный язык, ибо больше по времени не смогу освоить). Учить буду для себя, писать собственно тоже для себя или на крайний момент для freeware или даже для вебсайтов (в узких местах, там где можно выжить максимальную скорость от какого-то вычисления). Требования у меня такие к языку. 1) Мультиплатформенность - чтобы не только в Win и Linux, но и скажем на КПК можно было даже написать. 2) Обилие учебного материала, желательно на русском. 3) Быстрота и легкость для создание прикладных программ, имеющий часть готовых решений (библиотек) и возможностей языка. 4) Быстрота работы программ! – для прикладный программ мне все равно, но для серверных утилит весьма важно. 5) Язык у которого есть перспективы в будущем. Перспективы - хотя и для себя учу, но может быть увлекусь и может появится условие для работы. Но в любом случае перспективы – для меня это развитие языка и рост документации в дальнейшем. Остановился на С++, но после php я понял (на уровне ИМХО) что многое на нём можно написать, но большую часть решений придется писать самому. Скажем какие-то сортировки и прочие низкие алгоритмы, писать каждый раз вызовет отвлечений от самой программы и лишний труд. Пока толком не знаком, с языком, но меня пугает то, что большую часть "велосипедов" (которые есть у других языков) придется писать самому??? Кто знаком и с php и С++ можете проконсультировать? Может я ошибаюсь в чем-то и в библиотеке есть многие решения? Так как остановившись, свое изучение, на реализации массивов в С++ – честно говоря ужаснулся (после гибкости их в php). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 11:50:53 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
lis29, если бы не слова про отсутствие велосипедов - тогда, наверное, C. Если хотите что-то между велосипедами PHP и силой компилируемого языка достаточно низкого уровня - пощупайте Python. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 12:10:40 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
lis29, Наверно, я скажу банальность, но у Вас только один вариант: Научиться программировать не "на среднем уровне php", а просто научиться программировать. Тогда у Вас не возникнет вопроса с выборам языка, на котором нужно писать. PHP, Java, Awk или Perl. Язык станет обычным инструментом. Но Вам этот вариант наверно не понравится ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 12:24:11 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
an0nym Спб почитаю о нём. Реалист Не понял что Вы имели ввиду "просто научиться программировать". Что там учится то, единственная трудность это запоминание наборов функций (правильней наверно сказать набором из библиотек). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 15:12:08 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
lis29an0nym Спб почитаю о нём. Реалист Не понял что Вы имели ввиду "просто научиться программировать". Что там учится то, единственная трудность это запоминание наборов функций (правильней наверно сказать набором из библиотек). Как раз нет. Научиться программировать - это построить алгоритм решения поставленной задачи, выбрать инструмент и суметь на нем реализовать придуманный алгоритм. А вот "запоминание наборов функций" это уже мелочи, да и F1 всегда под рукой ;-)) Отсюда как раз и вытекает "неважность" конкретного языка программирования. Мало знать "наборы функции", нужно их правильно применять ;-)) Я бы Вам рекомендовал не заморачиваться с С или С++. Это все таки машинно-ориентированные языки программирования. Там и размерность int может быть разной и порядок байт в WORD/DWORD зависит от процессора. Зачем Вам это все????? ;-)))) Изучайте лучше за Java ;-))) А еще лучше, прочтите книжку Буча про ООП ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 16:39:30 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
C#, или, как уже сказали, Java. Но начинать всё - таки надо с основ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 16:47:48 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
> Не понял что Вы имели ввиду "просто научиться программировать". К сожалению, ничего лучше этого совета дать невозможно. Реалист - 5 баллов. Для каждой задачи есть свой оптимальный инструмент, который зависит от кучи факторов: - требований предметной области - квалификации команды - требований заказчика - бюджета - личных предпочтений - и т.д. и т.п. Представьте, что вы нанимаете строителя, а он вам говорит - из всех инструментов, я предпочитаю перфоратор! Только перфоратор позволяет максимально быстро делать дырки! Лично я от таких мастеров буду держаться подальше. Есть много языков, много подходов, парадигм. Чем шире будет ваш кругозор, тем лучше будет то что вы делаете, тем менее стыдно будет перед теми, кто будет читать ваш код. Как обычно говорят, программист изучивший Lisp или Haskell, станет лучше программировать на любом языке. Причем, это можно сказать практически о любом языке. Кстати, Python - очень хороший пример языка, который поддерживает много парадигм. Почитайте документацию, попробуйте реализовать что-нибудь на нем, и я надеюсь, вы никогда не останетесь тем кем были. По крайней мере, вы никогда больше не напишите - "Что там учится то, единственная трудность это запоминание наборов функций (правильней наверно сказать набором из библиотек)". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2009, 00:36:48 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
lis29 Остановился на С++, но после php я понял (на уровне ИМХО) что многое на нём можно написать, но большую часть решений придется писать самому. Скажем какие-то сортировки и прочие низкие алгоритмы, писать каждый раз вызовет отвлечений от самой программы и лишний труд. Есть библиотеки, где это уже реализовано. Например Qt. Отличная встроенная документация, много книг на русском языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2009, 08:56:32 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
Узкие места применения требуют узкого языка. И длинного. Не удержалси. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2009, 10:23:55 |
|
||
|
Вопросы о выборе языка (узкие места применения).
|
|||
|---|---|---|---|
|
#18+
lis29 Остановился на С++, но после php я понял (на уровне ИМХО) что многое на нём можно написать, но большую часть решений придется писать самому. Скажем какие-то сортировки и прочие низкие алгоритмы, писать каждый раз вызовет отвлечений от самой программы и лишний труд. В C++ на уровне стандарта предусмотрена куча готовых классов, шаблонов и функций, которые освобождают программиста от велосипедостроения. В частности поиски и сортировки реализованы на уровне библиотеки. Если нужно что то сложнее чем массив C++, в твоём распоряжении классы коллекций, индексы, итераторы, очереди, деки, стеки, строки, сортировщики и п.р.. Нестандартные разработки можно найти бесплатно или за деньги в открытом коде или в виде бинарных библиотек. Проблема только сориентироваться в этом море продуктов. Но язык конечно сложный. Страуструпа придётся читать внимательно. Под твои требования наверное лучше подойдёт Java. Куча стандартных библиотек и документации в свободном доступе. Кроссплатформенность. При необходимости компиляция "горячего" java кода в бинарный на лету. Серверы приложений для развёртывания масштабных решений. Язык значительно проще C++. Суперскоростной код наверное не получится, но на java значительно меньше возможности написать неправильную программу, особенно крупномасштабную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2009, 20:21:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36394583&tid=1343985]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
213ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 550ms |

| 0 / 0 |
