Я студент в университете, поэтому мой опыт ограничен, поэтому вопрос.
Если кто-то говорит вам, вот задача кодирования, на что вы смотрите, чтобы выбрать язык или парадигму, в которой вы это сделаете?
Надеюсь, что вопрос имеет смысл?
Я студент в университете, поэтому мой опыт ограничен, поэтому вопрос.
Если кто-то говорит вам, вот задача кодирования, на что вы смотрите, чтобы выбрать язык или парадигму, в которой вы это сделаете?
Надеюсь, что вопрос имеет смысл?
Есть много факторов, которые могли бы влиять:
Это предполагает, что на самом деле у вас есть выбор языков на выбор. Один из языков может решить эту проблему лучше всего, но если вы не знаете этого достаточно, то это практически не вариант, если у вас нет времени учиться.
Я думаю, что вопрос: "Откуда вы знаете, что является правильным инструментом для работы?"
Отчасти это зависит от требований. Если они говорят о веб-интерфейсе или базе данных, вам, вероятно, понадобится опыт SQL и опыт работы с HTML. Если они упоминают высокопроизводительные графические дисплеи, это может предложить C/С++ и OpenGL/DirectX. Если требования говорят о высокоскоростной цифровой обработке, вам может понадобиться... ммм... что-то еще.;)
Следующее, что поможет выбрать, - это то, что доступно вам. Если вы работаете в команде с опытом Java, вы, вероятно, будете придерживаться Java, если у вас нет ОЧЕНЬ разумной причины для переключения, или если у вас уже есть дюжина лицензий для Visual Studio, это, вероятно, будет своего рода .NET-решение.
Я всегда смотрю на несколько разных аспектов. Большинство из них сводится к тому, что языки библиотек поддержки имеют, окружающая среда и человеческие факторы - не сам язык. Это говорит о том, что разные языки имеют разные сильные стороны и важно выбирать язык, который соответствует тому, что вам нужно делать. Ниже приведены некоторые из вещей, которые я считаю при запуске нового проекта.
Если это не задача, которая в основном кричит на вас, говоря вам, на каком языке она лучше всего работает, вы должны выбрать тот, на котором вы больше всего владеете... Я полагаю.
Все о ваших интересах и вашем опыте. Если у вас есть хорошие знания в Java, то вы хотите потратить время на кодирование в C/С++/С#?
Насколько я могу судить, я возьму его на осуществимость. Если решение возможно в .Net, я поеду с .Net.
Также необходимо рассмотреть другие платформы, задачи которых будут реализованы. Если целевыми серверами могут быть Linux/Mac/Windows, перейдите на Java. Если задача требует слишком много работы на уровне системы, перейдите к c. и т.д. и т.д.
Резервирование - это ключ. Я бы выбрал язык, с которым мне больше всего знакомы, потому что я буду гораздо более продуктивным.
Попробуйте выбрать один язык и овладеть им. Конечно, хорошо знать большинство языков, тогда вы можете выбрать тот, который вам подходит.
Затем придерживайтесь своего любимого.
Для меня это Asp.Net С#/jQuery.
У PHP есть хорошее сообщество и его свободное. Если вы новичок, я бы начал с этого.
Я смотрю на проблему, и я думаю на очень высоком уровне, как я буду реализовывать ее на некоторых языках, которые я знаю. Скажем, например, я знал, что мне понадобится в два раза больше кода для реализации диалогового окна в MFC/С++, как и для его реализации на С#, и что моя Java была немного ржавой. Я бы решил запрограммировать его на С#.
Однако, поскольку вы являетесь студентом, вам может потребоваться выбрать язык, на котором вы не знакомы и реализовать проект на этом языке. Мое рассуждение в том, что я пришел в колледж, зная С++ очень хорошо. Мне не очень полезно реализовывать что-то на С++, что я знаю, что могу это сделать. Однако, внедряя его в С#, в котором я был не очень хорошо знаком, я мог бы получить больше знаний из программы, чем я получил бы в противном случае. Сохраняйте эту концепцию через свои годы в школе, и в конце концов вы узнаете намного больше.
Таким образом, в основном ваши варианты сводятся к тому, хотите ли вы закодировать его на самом простом языке, который вы знаете, или если вы хотите закодировать его на языке, который вы хотите изучить. Для каждого решения есть разные преимущества.
Первое, на что я бы посмотрел: какие языки/парадигмы я знаю? Основываясь на этом ответе, я спрашивал себя, какие сильные стороны языка/парадигмы играют в проблему. Вот пример:
Я знаю JavaScript, Java и Python (для целей этого разговора). Является ли проблема веб-технологией? Огромный аргумент в пользу JavaScript. Не могли бы вы попробовать новые идеи для этой проблемы? Большой аргумент в пользу Python. Является ли он долговечным и чувствительным к производительности? Это аргумент для Java.
В реальном мире вы почти всегда строите библиотеки и фреймворки, созданные другими людьми. Поэтому первый вопрос, который я задаю, часто - это то, какие лучшие библиотеки и рамки использовать, а затем строить на них. Который ломается в приблизительном порядке того, насколько я их использую:
С++ для интенсивной графики и обработки изображений, некоторой числовой работы и интерпретаторов высокого уровня.
Java + XSLT для веб-сервера (хотя я не проработал много веб-страниц в течение примерно шести лет и могу использовать взгляд на использование Ruby для некоторых вещей там или .net в магазине MS)
С# для бизнес-форм и менее интенсивной графики
python для очень маленьких скриптов, иногда небольших графических приложений.
C99, если я хочу использовать библиотеки нижнего уровня, интерпретаторы нижнего уровня, а также отдельные ПОС или встроенные системы.
Я также закончил работу над поддержкой Fortran, но никогда не инициировал проект Fortran.
Это никоим образом не является окончательным, но только то, что я нашел, хорошо работает в этих областях. Некоторые из них - суждение - хочу ли я комментировать длинные сроки компиляции и простоту модульности, чтобы получить комбинацию производительности и выразительности (С++)? Я хочу очень быстро создавать современные графические интерфейсы на основе форм (С#)? Я хочу манипулировать указателями и писать собственные процедуры сбора мусора (C)? Я хочу быстро попробовать алгоритм, чтобы увидеть, работает ли он (Python)?
Выберите язык, который был хорошо документирован.