Каковы опасности языка, который “принадлежит”? [закрытый]

7
задан User1 12 February 2010 в 00:43
поделиться

7 ответов

Вот еще один вариант ответа Джеффа:

def shift[T](l: List[T], p: T => Boolean): List[T] = {
  l match {
    case a::b::t if ! p(a) && p(b) => b::shift(a::t, p)
    case a::t => a::shift(t, p)
    case Nil => l
  }
}

Быстро протестирован с помощью

scala> def pred(c: Char) = c.isUpper
pred: (c: Char)Boolean

scala> shift("abcDEfghI".toList, pred)
res3: List[Char] = List(a, b, D, E, c, f, g, I, h)

scala> shift("AbCd".toList, pred)
res4: List[Char] = List(A, C, b, d)

scala> shift(Nil, pred)
res5: List[Nothing] = List()

Вот версия 2

def shift[T](l: List[T], p: T => Boolean, r: List[T] = Nil): List[T] = {
  l match {
    case a::b::t if ! p(a) && p(b) => shift(a::t, p, b::r)
    case a::t => shift(t, p, a::r)
    case Nil => r.reverse
  }
}
-121--3796726-

Еще один действительно популярный проигрыватель Flash - проигрыватель JW, по адресу http://www.longtailvideo.com/ . У них есть хороший мастер настройки, который генерирует необходимый код.

-121--2379101-

По сравнению с чем? Так как вы выражаетесь в этих терминах, оригинальные языки C и C++ "принадлежат" Bell Labs.

7
ответ дан 6 December 2019 в 08:43
поделиться

Нет такой опасности для языка C #. Это стандарт ISO. Формально он принадлежит комитету. Но Java - товарный знак

4
ответ дан 6 December 2019 в 08:43
поделиться

Вставать утром рискованно, но это не держит мир под покровом.

Я считаю, что это один из приемлемых рисков. В случае Java компании использовали его в течение последних 15 лет или около того в своих интересах.

Какая альтернатива? Разрабатывать и поддерживать свой собственный язык, чтобы владеть им? Вот что сделала SAP. Похоже, у них все получилось, но было бы интересно подсчитать понесенные ими затраты.

Бьярне Страуструп - гениальный человек, но давайте не будем забывать, что у него есть предубеждения. Он не доволен тем, что Java затмила C ++ в качестве основного объектно-ориентированного языка, когда он появился. Он приписал это маркетингу Sun, не допуская, что он мог быть лучше на C ++.

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

4
ответ дан 6 December 2019 в 08:43
поделиться

Если не существует двух независимых реализаций, язык является «принадлежащим» и вы находитесь во власти поставщика, если он повысит цены или может продукт.

Мне это не нравится.

EDIT: Как часто, так и нет, вы можете считать легально продаваемые кодовые базы как два (второй - это вы сами).

-121--3815169-

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

Если вы можете постоянно иметь его сбой в том же месте и может выяснить, где нуль указатель загружается из, то я предлагаю использовать отладчик и поставить точку останова на «write» в этом месте памяти, как только точка останова тригердируется, то, скорее всего, вы просматриваете код, который фактически вызвал повреждение.

-121--4817571-

Не все языки принадлежат лицу/компании/органу по стандартам. Единственный способ подумать о том, где он не принадлежит никому, это если человек, сделавший его, является анонимным, а также общественным достоянием

0
ответ дан 6 December 2019 в 08:43
поделиться

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

Мне это не нравится.

РЕДАКТИРОВАТЬ: Чаще всего вы можете считать легально разветвляемые кодовые базы как две (вторая - это вы сами).

1
ответ дан 6 December 2019 в 08:43
поделиться

Вы можете попытаться обернуть выражение в следующее ^\s * (выражение )\s * $ . Затем используйте группы для поиска «обрезанных» совпадений. Это устраняет только заключительное или ведущее пробельное пространство.

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

-121--2789818-
/^\s*[0-9a-zA-Z][0-9a-zA-Z ]*$/

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

Вы также можете рассмотреть другие символы, такие как дефис (-) или апостроф ('), которые также могут отображаться в именах...

/^\s*[0-9a-zA-Z][0-9a-zA-Z '-]*$/
-121--2789819-

мм, но Xbox поддерживает только C # для инди-игр, и никакая другая платформа не поддерживает его.

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

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

0
ответ дан 6 December 2019 в 08:43
поделиться

Java не является «собственностью», это открытый исходный код. Если вы обнаружите в нем ошибку, с которой совершенно не можете справиться, вы МОЖЕТЕ ее исправить. (Однако существуют реализации как с открытым, так и с закрытым исходным кодом)

Я не знаю, можете ли вы получить исходный код на C #, но, поскольку Mono скопировал его, существует также открытый исходный код для этого.

Я не знаю, есть ли второй источник библиотек .net.

Что касается настоящих «Опасностей» (в конце концов, это был ваш настоящий вопрос), это может быть то, что компания решит больше не выпускать обновления - если они это сделают, язык зачахнет и умрет, или это займет выключен сам по себе? Java находится в процессе перехода из одного из этих состояний в другое. Извините, я не знаю о C #.

Существует также (Предполагаемая) опасность, о которой я упоминал ранее - можете ли вы исправить это, если ваша компания с капиталом в сто миллионов долларов абсолютно нуждается в исправлении для продолжения.

Это была более серьезная проблема двадцать лет назад, в наши дни дело в том, что если это хороший стабильный язык, вам не о чем беспокоиться.

5
ответ дан 6 December 2019 в 08:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: