LINUX.ORG.RU

Rust? Какой нафиг шраст-мраст, Эппол открывает Swift позже в этом году!

 ,


0

5

Apple выпускает Swift под открытой лицензией поже в этом году для iOS, OSX и Линукс.

http://www.apple.com/live/2015-june-event/9d2ad033-d197-4009-96a7-2a97fd044cb7/

http://www.apple.com/live/2015-june-event/

★★★

Последнее исправление: Oxdeadbeef (всего исправлений: 1)
Ответ на: комментарий от anonymous

Но ирл такие предикаты - это вафли полные.

Почему?

Manhunt ★★★★★
()
Ответ на: комментарий от yyk

Т.е. неявный вызов деструктора хз где (мы же не о хеловорде со всеми локальными объектами)

Почему неизвестно? В одном из тех мест, где он используется(если речь о подсчете ссылок), или в конкретном месте(если речь об уникальном владении). Вне зависимости от вида ресурса(память, файл, коннект и т.п.).

это не костыль

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

а finaly и with- - костыли?

finally - точно костыль. with - наилучший способ работы с ресурсами при наличии сборки мусора для объектов-владельцев. По крайней мере я лучше не знаю.

Но согласен, что в идеале должны быть доступны все возможности, а кодеру уже решать, что в данный конкретный момент надо

Именно. Но для этого нужно изначально язык проектировать под эту возможность.

forCe
()
Ответ на: комментарий от menangen

И чем кордова отличается от веба? Она по определению позволяет фронт-мартышкам клепать говно еще и под мобилку.

anonymous
()
Ответ на: комментарий от anonymous

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

maloi ★★★★★
()
Ответ на: комментарий от maloi

месье не слышал про историю как при помощи таких вот предикатов нашли ошибку в реализации стандартной сортировки в яве и питоне?

Конечно нет. Ведь там такие предикаты не применялись, а слышать о том, чего не было - нельзя. Если только не слушать сказки. Кроме того, спецификация в том случае была сложнее реализации, что только подтверждает мою точку зрения.

понятно что большинство быдлокодеров никогда не будет в состоянии таким оперировать, но судя по развитию ИТ это и не нужно в большинстве случаев.

Да все вообще-то могут. Все эти проверки - есть ни что иное как выполнение двойной работы (написание одной и той же функции дважды, но по-разному) а потом проверка на эквивалентность кода. Вопрос только - почему же останавливаться на сравнении двух вариантов? Давайте лучше 3. Или 4. Или нет - сразу 10 варинатов писать и проверять на эквивалентность друг другу. Уж тогда-то точно будут ГАРАНТИИ.

anonymous
()
Ответ на: комментарий от anonymous

Ты совсем не отличаешь описание/спецификацию задачи от ее реализации? Спецификация того, что нужно сделать не является вариантом реализации. И не может являться. Даже реализация, блин, на каком-нибудь прологе и то будет именно реализацией.

anonymous
()
Ответ на: комментарий от anonymous

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

menangen ★★★★★
()
Ответ на: комментарий от anonymous

Ты совсем не отличаешь описание/спецификацию задачи от ее реализации?

Реализация - частный случай спецификации. Между формальной спецификацией и реализацией разницы нет. Не я не различаю - а нет, по факту.

И практические примеры это подтверждают.

anonymous
()
Ответ на: комментарий от menangen

А в вебе можно кредитки принимать. Завязывай с наркоманскими аргументами. Цель кордовы — расширить веб на мобилки. То есть, js так и остается в родном хлеве. Большая часть кода кордового приложения прекрасно работает в браузере.

anonymous
()
Ответ на: комментарий от anonymous

Реализация - частный случай спецификации.

Реализация(в нашем случае) - это описание того, как получить результат, удовлетворяющий спецификации.

Между формальной спецификацией и реализацией разницы нет. Не я не различаю - а нет, по факту.

С чего ты взял?

И практические примеры это подтверждают.

Хорошо, давай рассмотрим пример.

Допустим, мы хотим вычислять квадратный корень... Спецификация:

sqrt(x) -> r
  require:
      x >= 0
  ensure:
      r >= 0
      and r * r == x

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

А реализацию можешь взять на свой вкус.

anonymous
()
Ответ на: комментарий от anonymous

Але, выблядок, убейся уже наконец. Определение неубывающей числовой последовательности алгоритмом сортировки не является. Никак. Никогда.

anonymous
()
Ответ на: комментарий от Eddy_Em

Умалишённый?

Go

Блин, еще один язык, синтаксис которого придумал умалишенный!

Ты о Робе Пайке и Кене Томпсоне? Или в то время когда они придумывали синтаксис сишечки они ещё умалишёнными не были?

be_nt_all ★★
()
Ответ на: комментарий от menangen

Без классов

Все эти Go/Rust без классов не нужны. Будут классы - будут серьёзными языками.

Модель ООП с классами и объектами придумал Оле-Йохан Даль с Кристианом Нюгордом примерно 50 лет назад. Под вполне конкретный класс задач. Она оказалась достаточно универсальной, опять же, окошки-кнопочки удобно клепать (парня, открывшего это зовут Алан Кей, ага) но в реально больших и сложных приложениях что-то приличное позволяет сделать нормальную архитектуру только через красивые связки костылей, называемые паттернами проектирования.

И да, сложные иерархии наследование - как правило - зло. К началу 10 годов году народ научился без этого зла обходится, взяв при этом от ООП всё самое нужное.

be_nt_all ★★
()
Ответ на: Умалишённый? от be_nt_all

Ты о Робе Пайке и Кене Томпсоне? Или в то время когда они придумывали синтаксис сишечки они ещё умалишёнными не были?

Они не придумывали синтаксис сишечки. Хватит уже врать об этом.

anonymous
()
Ответ на: Умалишённый? от be_nt_all

Давай, расскажи нам, как Роб Пайк в 13-14 лет придумывал синтаксис Си.

anonymous
()
Ответ на: комментарий от sT331h0rs3

Так и у MS было, еще при Билле. Но одно дело - это когда Singularity и мелкие части дотнета, а другое, когда уже что-то более серьезное.

Nedis
()
Ответ на: комментарий от Manhunt

Mbeddr

Есть такая штука, mbeddr, она позволяет в том числе и верифицировать полученный код, указывать pre-conditions, post-conditions, умеет в события и конечные автоматы, компилируется в честный С, вот соус: http://mbeddr.com/index.html

Есть правда минус - редактор говн^Wнепривычный, проекционный(на основе Jetbrains MPS). Без скринкастов хеловорлд написать практически невозможно.

anonymous
()
Ответ на: Mbeddr от anonymous

Спасибо! Очень интересно, нужно будет посмотреть

Manhunt ★★★★★
()
Ответ на: комментарий от Eddy_Em

А и Б:

#include<stdio.h>
int main(void)
{
	int a=10000,b=0,c=2800,d,e=0,f[2801],g;FILE *fo;
	if (!(fo=fopen("C:\\out","w"))) return 1;
	for (;b-c;) f[b++]=a/5;
	for(;d=0,g=c*2;c-=14,fprintf(fo,"%.4d",e+d/a),e=d%a)
		for(b=c;d+=f[b]*a, f[b]=d%--g,d/=g--,--b;d*=b);
}
А насчет универсальности... Ну расскажи мне про то, где в стандартной библиотеке С средства работы с сетью, например? Или может гуй, или может звук? В с11 хотя бы треды добавили. Это все есть толкьо в сторонних либах. Отсюда извечные проблемы портирования С кода. Нет тут универсальности.

Aswed ★★★★★
()
Ответ на: комментарий от anonymous

Тот match в цикле только полный упырок, конечно, мог посчитать нечитаемым. Хотя, честно, и этот никакой сложности не вызывает, просто нужно привыкнуть.

Joe_Bishop
()
Ответ на: комментарий от menangen

Все эти Go/Rust без классов не нужны. Будут классы - будут серьёзными языками.

Мне понравилось. Рецепт прост: высунуть палец из попы, в смысле не думать об ООП как об иерархии наследования.

Joe_Bishop
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.