Каковы наиболее важные свойства языков программирования для вас? - PullRequest
6 голосов
/ 28 июля 2010

Для меня это: сильный тип

Wikipedia

«строгая типизация» подразумевает, что язык программирования накладывает жесткие ограничения на допустимое смешение, предотвращая компиляцию или запуск исходного кода, который использует данные, что считается недопустимым способом

Почему это важно? Потому что Я люблю ошибки компиляции гораздо больше, чем ошибки времени выполнения .

Полагаю, лучше предоставить некоторую информацию и некоторые причины, по которым она важна.

Ответы [ 9 ]

5 голосов
/ 28 июля 2010

выразительность.

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

4 голосов
/ 28 июля 2010

Это делает работу.Я думаю, это хорошо, чтобы быть знакомым с более чем одним языком.Как бы мне ни нравился C #, я не думаю, что он лучший во всем.Поэтому я просто смотрю на поставленную задачу и каковы некоторые требования, а затем пытаюсь выбрать язык, который лучше всего соответствует.

3 голосов
/ 28 июля 2010

Поддержка первоклассных (или более высокого порядка) функций

2 голосов
/ 28 июля 2010

1 ) Строгий набор и функции, которые его поддерживают .

C # / Java v1.0 были языками со строгой типизацией, но иногда вам приходилось нарушать статическую типизацию, потому что просто не хватало выразительности, чтобы делать что-то и иметь статическую типизацию (т. Е. Вам требовалось приведение при извлечении объектов из нетипизированного коллекция например).

Обобщения, конечно, значительно улучшают ситуацию, и вещи становятся еще лучше в языках, которые поддерживают обобщения более высокого порядка (например, Scala).

2 ) Краткость. Если это очевидно, мне не нужно это писать. Вывод типа является отличным инструментом для этого.

3 ) Отличная библиотека. Если это часто нужно, мне не нужно это писать.

2 голосов
/ 28 июля 2010

Важно, чтобы код выглядел как псевдокод, поскольку его легко читать и писать.Для этого нет объективной меры, потому что со временем язык и программист склоняются друг к другу.

1 голос
/ 28 июля 2010

Я не выношу чисто явную, именительную, статическую типизацию, то есть в стиле Java. Я чувствую, что могу эффективно программировать только на языках, которые предлагают хотя бы одно из следующего:

  1. Утиная печать, похожая на Python, PHP, Perl, Ruby.

  2. Хорошая система шаблонов, которая поддерживает variadics, статические if и т. Д. (Например, система шаблонов D) плюс хотя бы некоторое распространение типа (например, ключевое слово C # var или ключевое слово D 1010 *). Я уже давно пользуюсь D, и его система шаблонов достаточно хороша, и я часто называю ее «типизацией утки во время компиляции».

Без хотя бы одного из них я часто чувствую, что попал в полный прямой пиджак.

1 голос
/ 28 июля 2010

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

0 голосов
/ 28 июля 2010

Быть полным по Тьюрингу помогает.

0 голосов
/ 28 июля 2010

Краткий, но однозначный синтаксис.

Visual Basic: понятно, что происходит, но очень многословно.

Perl: Это довольно лаконично, но вы получите более четкие программы, если будете стучать по клавиатуре случайным образом.

C #: В самый раз: D

...