1.1, Аноним (-), 13:53, 20/03/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> QML/JavaScript отмечен как более высокоуровневое средство разработки,
Которое в большой программе потом икнется тем что JS создал на автомате некую переменную и прога через полчаса счета встала колом из-за трудноуловимого бага. Тогда как си за такое сразу послал бы на и был бы прав. А так то да, пока программа на 600 или 1400 строчек - в трех соснах фиг заблудишься.
| |
|
2.2, Аноним (-), 13:59, 20/03/2013 [^] [^^] [^^^] [ответить]
| +7 +/– |
>А так то да, пока программа на 600 или 1400 строчек - в трех соснах фиг заблудишься.
Вам таки нужно больше для создания интерфейса?
| |
|
3.3, Аноним (-), 14:11, 20/03/2013 [^] [^^] [^^^] [ответить]
| +7 +/– |
Есть же люди, которые логику приложению реализуют прямо в коде для работы с GUI, а потом месразбираются что они понавоязи.
| |
|
4.13, Аноним (-), 14:37, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
Это не шуточная проблема, у нас примерно такое и есть, особенно нереально тяжело это рефакторить. Нужен очень жесткий контроль по использованию js что бы не писали на нем слишком много. а так QML ниче, мне нравится.
| |
|
5.16, Пиу (?), 14:55, 20/03/2013 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Это не шуточная проблема, у нас примерно такое и есть, особенно нереально
> тяжело это рефакторить. Нужен очень жесткий контроль по использованию js
> что бы не писали на нем слишком много. а так QML
> ниче, мне нравится.
я смотрю на все эти FirefoxOS, Tizen и прочие, и понимаю, что никакого контроля не получиться
| |
|
6.17, Аноним (-), 14:58, 20/03/2013 [^] [^^] [^^^] [ответить]
| –4 +/– |
Я не понимаю как на этом можно сделать что-то сложнее калькулятора.
| |
|
5.43, Аноним (-), 16:49, 20/03/2013 [^] [^^] [^^^] [ответить]
| +5 +/– |
Это не проблема js, это проблема людей.
Чем более высокоуровневый язык - тем легче на нем быдлокодить, откладывая решение проблем с качеством кода на потом.
Многие еще не могут понять сам js, что его парадигма сильно отличается от других ОO-языков, и шпарят на нем так, как они привыкли писать на C++.
И GUI тут тоже ни при чем. На js уже давно можно решать задачи, отвязанные от GUI, и рефакторится он прекрасно. Другое дело, что пока в node.js юные хацкеры сильно косячат, создавая о js неправильное представление. Лучше стандарты CommonJS для начала почитать, прежде чем делать выводы.
Другое дело еще, что сама Qt сильно на GUI завязана, что тоже в свою очередь создает неравильноt впечатление о js.
| |
|
6.81, Аноним (-), 23:28, 20/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | Это, конечно, проблема людей, но у компиляторов да еще с статической типизацией ... большой текст свёрнут, показать | |
|
7.86, arisu (ok), 23:43, 20/03/2013 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Если кто си++ нормально освоил — JS ему вообще будет на один зубок, имхо.
только вот зуб сломается. большинство ломается на стадии прототипной объектной модели. ещё некоторые — на стадии замыканий. до финиша редкий кактус долетает.
вообще-то «на один зубок» будет тому, кто знает Scheme (но будет ругаться матом за корявость).
| |
|
8.124, mma (?), 15:35, 21/03/2013 [^] [^^] [^^^] [ответить] | +/– | тут как бы цель не оправдывает средства, это как в слона дробиной, посмотришь на... текст свёрнут, показать | |
|
9.126, arisu (ok), 17:43, 21/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | вот-вот 171 зачем мне лопата, мне копать надо 187 зато незнание не мешает ... текст свёрнут, показать | |
9.127, arisu (ok), 17:45, 21/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | p s прототипная модель и замыкания, кстати, используются не только в js даже в... текст свёрнут, показать | |
|
|
7.102, angra (ok), 03:03, 21/03/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
Судя понаписанному, js вы так и не смогли осилить, как в общем-то и C++. Проверка синтаксиса в js есть на стадии "компиляции", проверка типов в основном в рантайме, но я не сказал бы что это сильно усложняет отлов ошибок. А в С++ можно перегружать функции, что замечательно херит преимущества статической типизации, увеличивает вероятность возникновения и затрудняет поиск ошибок.
Вообще я насмотрелся на код дурачков, выучивших С/С++ и думающих, что теперь им все скриптовые языки на один зубок. Они такую херню на скриптовых языках пишут, что рука не покидает лица при просмотре. В доке по перлу для них даже специальные разъяснения добавили, чтобы хоть от самых частых фейлов избавить, но судя по коду, что мне попадается, помогает это слабо.
| |
|
8.103, arisu (ok), 03:06, 21/03/2013 [^] [^^] [^^^] [ответить] | +3 +/– | это да поскольку они знают только о молотке, то любым инструментом пытаются пол... текст свёрнут, показать | |
8.121, TbIK (ok), 13:41, 21/03/2013 [^] [^^] [^^^] [ответить] | –1 +/– | В защиту си сипиписников коим я был лет 20 назад , скажу зато эти люди никогда... текст свёрнут, показать | |
|
7.112, jOKer (ok), 07:51, 21/03/2013 [^] [^^] [^^^] [ответить] | +/– | Освойте для себя сервис-ориентированные архитектуры, разместите бизнес-логику на... большой текст свёрнут, показать | |
|
8.113, arisu (ok), 08:03, 21/03/2013 [^] [^^] [^^^] [ответить] | –1 +/– | проблемы бананасов сводятся почти к нулю простым линтером написать который для ... текст свёрнут, показать | |
|
|
|
|
|
3.9, Пиу (?), 14:25, 20/03/2013 [^] [^^] [^^^] [ответить]
| +5 +/– |
проблема в том, что орава жабопогромистов ничего более не умеет, но хочет жрат
| |
|
4.18, Xasd (ok), 15:02, 20/03/2013 [^] [^^] [^^^] [ответить] | –3 +/– | проблема в том что C C -программисты настолько умные, и настолько много всего д... большой текст свёрнут, показать | |
|
5.23, Пиу (?), 15:28, 20/03/2013 [^] [^^] [^^^] [ответить] | +2 +/– | а программисты на жаваскрипте структуру программы в голове не держат х к-х к ... большой текст свёрнут, показать | |
|
6.31, тоже Аноним (ok), 16:05, 20/03/2013 [^] [^^] [^^^] [ответить]
| +6 +/– |
Между прочим, этот господин довольно точно описал логику "Я нажала пять раз не потому, что мне нужно было пять раз, а для убедительности!".
Настоящий юзер-френдли интерфейс, безусловно, должен понимать такие очевидные вещи.
Жаль, что использование тех или иных технологий само по себе таким знанием интерфейс не обогатит.
| |
|
7.37, Пиу (?), 16:27, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>Между прочим, этот господин довольно точно описал логику "Я нажала пять раз не потому, что мне нужно было пять раз, а для убедительности!".
проблема в том, что интерфейс в результате должен обладать телепатией, чтобы отличить случаи "нужно было 5 раз" и "нужно было 1 раз, но .."
алсо, лично я считаю интерфейс который такое позволяет вредным. он создает армию тупых людей
| |
|
|
9.44, Пиу (?), 16:50, 20/03/2013 [^] [^^] [^^^] [ответить] | +/– | это проблема программы программа должна учитывать, что у пользователя заклинило... текст свёрнут, показать | |
9.48, Аноним (-), 17:00, 20/03/2013 [^] [^^] [^^^] [ответить] | +/– | с какой вероятностью клавишу заклинит у умного человека, и с какой вероятностью ... текст свёрнут, показать | |
9.52, qqq (??), 17:25, 20/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | Даже если действительно заклинило клавишу, эту проблему должна разруливать ОС а ... текст свёрнут, показать | |
|
10.75, Vkni (ok), 22:48, 20/03/2013 [^] [^^] [^^^] [ответить] | +5 +/– | Вы не поверите, но это должен разруливать человек, только он может поменять клав... текст свёрнут, показать | |
|
9.65, arisu (ok), 20:54, 20/03/2013 [^] [^^] [^^^] [ответить] | +3 +/– | а ещё есть вариант 171 половина клавиатуры не работает ваша программа говно, ... текст свёрнут, показать | |
|
|
|
|
|
|
3.57, Аноним (-), 18:42, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Вам таки нужно больше для создания интерфейса?
А это сильно зависит от интерфейса. Если это интерфейс для дебильника или автомата оплаты, с тремя кнопками - оно конечно. А вот интерфейс например офисного пакета, кад-образного софта, пакетов 3D моделирования, графических редакторов или там еще чего посложнее hello world-а - бывают и достаточно нетривиальными.
| |
|
4.101, Led (ok), 02:57, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> Вам таки нужно больше для создания интерфейса?
> А это сильно зависит от интерфейса. Если это интерфейс для дебильника или
> автомата оплаты, с тремя кнопками - оно конечно. А вот интерфейс
> например офисного пакета, кад-образного софта, пакетов 3D моделирования, графических
> редакторов или там еще чего посложнее hello world-а - бывают и
> достаточно нетривиальными.
Например, XUL?
| |
|
3.122, Аноним (-), 14:30, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>Вам таки нужно больше для создания интерфейса?
А кто сказал, что JS только для интерфейса?
| |
|
2.5, Ы (?), 14:17, 20/03/2013 [^] [^^] [^^^] [ответить]
| –4 +/– |
невежественные домыслы, ВОЗМОЖНОСТЬ динамической типизации это плюс языка
| |
|
3.11, Пиу (?), 14:29, 20/03/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
> невежественные домыслы, ВОЗМОЖНОСТЬ динамической типизации это плюс языка
динамическая типизация - это отличный способ выстрелить себе в ногу или словить "отличный" стектрейс где-то из глубин библиотечного кода, просто потому что интерфейс строго не задан
| |
|
4.12, Ы (?), 14:35, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
угу для этого её и придумали, давайте приводить ещё возможности накосячить
| |
4.14, Xasd (ok), 14:39, 20/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | тоесть например функция требует объект Кнопка , а мы передадим туда объект Вр... большой текст свёрнут, показать | |
|
5.15, Пиу (?), 14:53, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>тоесть например функция требует объект <Кнопка> , а мы передадим туда объект <Временная_Константа>? и как же это может произойти на практике? :-) ..
функция требует два аргумента, их тип не задан, это же динамическая типизация
>от перепутанных местами параметров -- статическая типизация тоже (как и динамическая) не защищает кстате.. кроме как от случая когда функция принемает несколько параметров которые все являются представителями разных интерфейсов..
фигасе, "кроме случая". у большинства функций разнородные аргументы вообще-то
| |
|
6.19, Xasd (ok), 15:11, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> у большинства функций разнородные аргументы вообще-то
типа как:
объект, число, число, число
или , например
объект, число, число
???
по моему это не совсем разнородные :-)
редкий случай когда напимер 3 аргумента и все разнородные
| |
|
7.22, Пиу (?), 15:19, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> у большинства функций разнородные аргументы вообще-то
> типа как:
> объект, число, число, число
> или , например
> объект, число, число
> ???
еще раз, не везде аргументы функции состоят из наборов чисел. более того, функции у которых на входе много числовых аргументов - плохие функции (в качестве API)
>редкий случай когда напимер 3 аргумента и все разнородные
далеко не редкий
| |
7.72, VoDA (ok), 22:37, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> у большинства функций разнородные аргументы вообще-то
> типа как:
> объект, число, число, число
> или , например
> объект, число, число
> ???
> по моему это не совсем разнородные :-)
Чаще объект, объект, объект. Внутри, конечно, будут числа, но не всегда первым уровнем.
PS еще и список объектов в функцию можно передавать. А уж замыкание так это вообще легко ;)
| |
|
|
5.66, arisu (ok), 20:58, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> от перепутанных местами параметров — статическая типизация тоже (как и динамическая) не
> защищает кстате..
а вот в Smalltalk это решили очень изящно. и без проверки типов.
| |
5.73, VoDA (ok), 22:43, 20/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | У меня в практике были косяки типа кодил-кодил - все работало Зашел на соседний... большой текст свёрнут, показать | |
|
6.76, arisu (ok), 22:49, 20/03/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
тут дело-то в том, что js никогда и не задумывался как язык для разработки большого софта. а теперь его обвешивают костылями и пихают невпихуемое.
| |
|
7.118, Аноним (-), 13:07, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> тут дело-то в том, что js никогда и не задумывался как язык
> для разработки большого софта. а теперь его обвешивают костылями и пихают
> невпих/емое.
Ничего не напоминает?
| |
|
|
5.82, piteri (ok), 23:29, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>и как же это может произойти на практике?
Легко
>будет сразу заметен в течении 5 минут работы программы.
После установки заказчику.
| |
|
4.114, jOKer (ok), 08:07, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> невежественные домыслы, ВОЗМОЖНОСТЬ динамической типизации это плюс языка
> динамическая типизация - это отличный способ выстрелить себе в ногу или словить
> "отличный" стектрейс где-то из глубин библиотечного кода, просто потому что интерфейс
> строго не задан
Давайте все-таки не путать динамическую/статическую типизацию и строгую/мягкую типизацию. Внезапно: есть ЯП в которых реализована строгая динамическая типизация. И в этих ЯП автоматического приведения к типу нет, а вот замыкания, инжекция кода и прочие вкусняшки, - напротив, имеются.
ЗЫ. А "борцам" с динамической типизацией из-за того, что у них автоматически привелись типы, а они это прощелкали, надо выстрелить не в ногу, а в голову - все равно она им не к чему.
| |
|
5.115, arisu (ok), 08:14, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
отчасти-то он прав. потому что новоявленые МегаГуру про контракты, может, и слышали, но в виду отсутствия мозга ничего не поняли. соответственно, хвалёные библиотеки часто вместо контрактов светят половым гениталием. это ж «тормозит» и вообще «лишний код».
с другой стороны — за отсутствие булевого типа и использование «+» для соединения строк таки надо было бы лишить обеда. и ужина.
| |
|
|
|
|
|
6.130, arisu (ok), 17:56, 21/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Мягкое и теплое, ага. В Python динамическая строгая типизация.
хорошая шутка.
| |
|
|
|
3.58, Аноним (-), 18:43, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> ВОЗМОЖНОСТЬ динамической типизации это плюс языка
Только если ее делать не через опу. Т.е. с возможностью форсануть статическую для уменьшения грабель. А тут мало того что типизация динамическая, так еще и несуществующие переменные без предупреждения и явного анонсирования такой хотелки кейвордом создадут. А вот это уже западлостроительство - мало-мальски крупный проект потом замахаешься дебажить в поисках опечатки.
| |
|
4.135, Аноним (-), 14:32, 22/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> ВОЗМОЖНОСТЬ динамической типизации это плюс языка
> Только если ее делать не через опу. Т.е. с возможностью форсануть статическую
> для уменьшения грабель. А тут мало того что типизация динамическая, так
> еще и несуществующие переменные без предупреждения и явного анонсирования такой хотелки
> кейвордом создадут. А вот это уже западлостроительство - мало-мальски крупный проект
> потом замахаешься дебажить в поисках опечатки.
Приведите пример крупного проекта по созданию интерфеса программы.
| |
|
|
2.7, Xasd (ok), 14:20, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> JS создал на автомате...
как это он создал на автомате? кто ему разрешил самодеятельность? или мы рассматриваем случай когда программист забыл добавить 'use strict' в начало файла?
| |
2.10, Xasd (ok), 14:25, 20/03/2013 [^] [^^] [^^^] [ответить]
| +4 +/– |
> ...си за такое сразу послал бы...
анализатор статической типизпции -- не сделает за программиста его работу.
если ты написал (по ошибке)
memset(my_obj_ptr, 0, sizeof(my_obj_ptr));
вместо
memset(my_obj_ptr, 0, sizeof(*my_obj_ptr));
то компилятор тебя не пошлёт (и темболее "сразу").
иногда у меня вообще такое ощущение что некоторые Си-программисты страдают рассеянным вниманием из-за того что думают будто компилятор находит все их ошибки.
однако статическая компиляция не палочка-выручалочка. по большей части она в основном только указывает на то что "чувак, ты хочешь же вывести на экран строку, а передаёшь в параметре число... ну забыл сконвертировать же!", а не на какую-то серъёзную штуку, которая годами может себя не проявлять.
| |
|
3.50, qux (ok), 17:18, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> иногда у меня вообще такое ощущение что некоторые Си-программисты страдают рассеянным вниманием из-за того что думают будто компилятор находит все их ошибки.
Некоторые не знаю, а в общем, как и все прочие, страдают забиванием. Сравнить, например, кол-во полезных подсказок, выдаваемых gcc на не-helloworld по дефолту и с -Wall -Wextra (-pedantic --std=c99 -Werror). А потом кол-во проектов, которые ближе ко второму. Особенно коммерческих.
| |
3.61, Алексей Морозов (ok), 18:52, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> memset(my_obj_ptr, 0, sizeof(my_obj_ptr));
Ну, вот конкретно такое достаточно хорошо ловится юниттестами, запущенными под валгриндом
| |
3.74, Vkni (ok), 22:46, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> анализатор статической типизпции -- не сделает за программиста его работу.
Не сделает ВСЮ работу. Но часть сделает. Поэтому несколько глупо использовать интерпретатор и динамическое типизирование.
| |
|
4.78, arisu (ok), 22:51, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> анализатор статической типизпции — не сделает за программиста его работу.
> Не сделает ВСЮ работу. Но часть сделает. Поэтому несколько глупо использовать интерпретатор
> и динамическое типизирование.
не соглашусь. другое дело, что в js нет встроеного механизма указать типы, если надо. зато есть идиотия с использованием одного и того же оператора для сложения строк и чисел.
| |
|
5.90, Vkni (ok), 00:02, 21/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> не соглашусь. другое дело, что в js нет встроеного механизма указать типы,
> если надо. зато есть идиотия с использованием одного и того же
> оператора для сложения строк и чисел.
Сравни OCaml и JS: в первом система статических типов, вывод типов методом ХМ (т.е. указывать тип можно, но не обязательно - он будет выведен), именованные параметры, значения параметров по-умолчанию. Единственная фигня - операторы для вещественных чисел /., *., +. и -., хотя никто не мешал перегрузить. Это, впрочем, исправлено в F#.
| |
|
6.92, arisu (ok), 00:16, 21/03/2013 [^] [^^] [^^^] [ответить] | +/– | я окамла не знаю, увы ну, так 8212 на уровне 171 о окамл я не испуган, н... большой текст свёрнут, показать | |
|
7.93, Vkni (ok), 00:32, 21/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> я окамла не знаю, увы. ну, так — на уровне «о! окамл!
> я не испуган, но озадачен.»
Посмотри, не пожалеешь - штука маленькая, быстрая и очень удобная. Учебник по OCaml - http://caml.inria.fr/pub/docs/oreilly-book/ (где-то есть перевод на русский). Сочетает императивщину и функциональщину. И его идеи - более-менее передний край CS, как говорят специалисты, в 90-е научное развитие языковых средств остановилось (а индустрия это постепенно подсасывает).
После этого будет тяжко смотреть на С++ с его шаблонами и смешно на тутошние языковые споры.
> беда js в том, что никто изначально не предполагал масштабов бедствия.
Есть ещё чудесный PHP. :-)
| |
|
8.94, arisu (ok), 00:49, 21/03/2013 [^] [^^] [^^^] [ответить] | +1 +/– | да я знаю это 8212 теоретически а на практике как-то всё лениво, каждый раз ... большой текст свёрнут, показать | |
|
7.95, Crazy Alex (ok), 01:11, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
В экшнскрипт не плюсовую, а жабью модель притищали, причем почти один к одному.
| |
|
|
|
|
3.77, Аноним (-), 22:50, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> если ты написал (по ошибке)
> memset(my_obj_ptr, 0, sizeof(my_obj_ptr));
> вместо
> memset(my_obj_ptr, 0, sizeof(*my_obj_ptr));
Во-первых, где здесь статическая типизация? Перепутана константа. Во-вторых, некоторые компиляторы выдают warning при компиляции такого (в gcc, вроде, было).
| |
3.91, Vkni (ok), 00:05, 21/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> иногда у меня вообще такое ощущение что некоторые Си-программисты страдают рассеянным вниманием
> из-за того что думают будто компилятор находит все их ошибки.
С момента изобретения С прошло уже 40 лет, пора бы и на другие языки посмотреть. В частности, на ML/Haskell и подобные - там значительно более серьёзная система типов, нежели в С. И результаты работы анализатора типов, разумеется, тоже более серьёзные.
Он тоже не найдёт все ошибки, но результат явно будет лучше, чем в С, где можно поменять в memset 2 последних параметра местами и это пройдёт.
| |
|
4.97, Crazy Alex (ok), 01:18, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
Ну тогда уже D порекламирую, благо он нынче вполне приятен. И вывод типов есть, и если надо в кишки залесть - пишешь unsafe и понеслось. А уж ranges - совершенно чудесная штука, которую никто, кажется, больше не сделал. И не заставляет ломать мозг функицональщиной вида "ехал лямбда через рекурсию монадой погоняя". При этом при надобности есть и иммутабельность, и алгебраические типы, и pure-функции, и карринг, и много других страшных слов :-)
| |
|
5.99, arisu (ok), 01:35, 21/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
не хватает только стандарта и нескольких компиляторов. кагбэ D1 уже нет, а D2 ещё толком нет. и нераспространено. но в остальном — надеюсь, что он в конце концов вытолкает цпп на обочину истории и легаси-кода.
| |
|
6.131, TbIK (ok), 19:03, 21/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> не хватает только ....
Немного не так: кто ХОЧЕТ писать - тому всего хватает. Кто не хочет - тому ВЕЧНО чего-то нехватает, "мешается в танце" и т.п.
> D2 ещё толком нет.
Есть. Работающий компилятор, бери, да пользуйся!
> и нераспространено.
Как и любой язык без тонны говномаркетинга и бабла. Но при наличии разумных прогеров, легко вольётся в ряды. Вы же про него уже знаете! Я несколько перделок написал. Другие тоже не останутся в стороне, сравнив его с сипипями и цэшарпами.
| |
|
7.132, arisu (ok), 19:25, 21/03/2013 [^] [^^] [^^^] [ответить] | +/– | если ты пишешь себе приветмиры 8212 то не вопрос, хоть для кнутовой шестибито... большой текст свёрнут, показать | |
7.133, arisu (ok), 19:27, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
p.s. вообще, *лично для меня* язык подобного плана стоит более-менее серьёзно рассматривать тогда, когда в стандартном наборе gcc появится компилятор для этого языка.
| |
|
|
|
4.105, Led (ok), 03:10, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> иногда у меня вообще такое ощущение что некоторые Си-программисты страдают рассеянным вниманием
>> из-за того что думают будто компилятор находит все их ошибки.
> С момента изобретения С прошло уже 40 лет, пора бы и на
> другие языки посмотреть. В частности, на ML/Haskell и подобные - там
> значительно более серьёзная система типов, нежели в С.
А разве в C есть что-то кроме char, int и float? Других типов нет - только "модификаторы" для указанных. Назвать это "системой типов"... мягко говоря, смешно.
| |
|
5.106, arisu (ok), 03:13, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> А разве в C есть что-то кроме char, int и float?
да. man typedef. структуры тоже отдельные типы. ranged-типов нет, правда. так что не надо уж совсем старичка унижать, он местами ещё вполне ничего.
| |
|
6.107, Led (ok), 03:21, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> А разве в C есть что-то кроме char, int и float?
> да. man typedef. структуры тоже отдельные типы. ranged-типов нет, правда. так что
> не надо уж совсем старичка унижать, он местами ещё вполне ничего.
Никто его и не унижает. Но и превозносить его как божественное откровение и идеал - не стОит.
| |
|
7.108, arisu (ok), 03:31, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Никто его и не унижает. Но и превозносить его как божественное откровение
> и идеал — не стОит.
но в нише «переносимый макроассемблер» у него таки конкурентов нет.
| |
|
8.109, Vkni (ok), 04:45, 21/03/2013 [^] [^^] [^^^] [ответить] | +/– | Вообще, можно было бы и улучшить косметически - сделать вывод типов, убрать неяв... текст свёрнут, показать | |
|
|
|
|
|
|
2.25, Аноним (-), 15:38, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Которое в большой программе потом икнется тем что JS создал на автомате некую переменную и прога через полчаса счета встала колом из-за трудноуловимого бага.
Так разделите же дрозофил и котлеты. Т.е. гуй на QML, а счёт... да хоть на Фортране!
| |
|
3.59, Аноним (-), 18:44, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Так разделите же дрозофил и котлеты. Т.е. гуй на QML, а счёт...
А чем глюки в гуе лучше глюков в счете?
| |
|
4.62, qux (ok), 19:11, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Очевидно, при глюках в гуе иногда можно взять другой, или CLI-вариант, над которым был гуй.
| |
|
|
2.33, ВовкаОсиист (ok), 16:10, 20/03/2013 [^] [^^] [^^^] [ответить]
| –2 +/– |
Вы правы, но под qml обычно понимают декларативный интерфейс(который для десктопов и в пупок не упёрся, xml-ные формошлёпки куда приятней), а не всю программу на js. Хотя всем наплевать, все побежали быстро все переписывать на js, qml-же!
| |
|
3.140, Аноним (-), 19:59, 22/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Вы правы, но под qml обычно понимают декларативный интерфейс(который для десктопов и
> в пупок не упёрся, xml-ные формошлёпки куда приятней), а не всю
> программу на js. Хотя всем наплевать, все побежали быстро все переписывать
> на js, qml-же!
Ну и как на xml подстветить неправильно заполенные поля при вводе?
| |
|
4.141, arisu (ok), 20:19, 22/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Ну и как на xml подстветить неправильно заполенные поля при вводе?
точно так же, как и без него. тот, кто делает валидатор исключительно средствами GUI и его языка — идиот. а в нормальном случае всё равно понадобится механизм, при помощи которого основная софтина будет отмечать такие поля.
| |
|
|
2.53, CR (?), 17:28, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> через полчаса счета
Какого еще "счета"?
QML/JavaScript предназначены для создания GUI. "Счет" пиштеся как обычно - на C/C++.
| |
|
1.4, Xasd (ok), 14:16, 20/03/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Сравнение охватывает такие вопросы, как удобство разработки, оценка трудозатрат, компактность кода, потребление памяти в процессе работы, скоросоть запуска, производительность итоговых приложений, визуальная привлекательность и т.п. Для оценки использовался Капитан Очевидность
fixed :)
| |
|
2.8, Anonymus.UA (?), 14:25, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Действительно а почему не чистый Си или машинный код?! Загадка какая-то прям...
| |
|
3.63, anonymous (??), 19:54, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
>Действительно а почему не чистый Си или машинный код?! Загадка какая-то прям...
Где ты увидел в Qt чистый си? Развелось тут неучей, понимаешь.
| |
|
|
|
2.60, Аноним (-), 18:46, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Их саперы занимают памяти больше, чем ядро :(
Ну так ядро писали нормальные системщики, на сях, без халтуры. А это апликушники. Раздолбаи и пофигисты. Которых хлебом не корми, дай только индусский код понаписать.
| |
|
1.34, ВовкаОсиист (ok), 16:15, 20/03/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я правильно понимаю, что они сравнили императивный стиль программирования с декларативным? Или JS с Си? Тогда реквестирую сравнение Qt-C++ vs QML+js.
| |
|
|
Часть нити удалена модератором |
3.47, mr. green thumb (?), 16:53, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
подскажи, а студентам-полотёрам-мс категорически запрещается писать опенсорс или можно в свободное время?
| |
|
4.54, Michael Shigorin (ok), 18:00, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> подскажи, а студентам-полотёрам-мс категорически запрещается писать опенсорс
Похоже, им категорически запрещается думать, поэтому и обсуждать с ними обычно нечего...
| |
|
5.120, Аноним (-), 13:11, 21/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> подскажи, а студентам-полотёрам-мс категорически запрещается писать опенсорс
> Похоже, им категорически запрещается думать, поэтому и обсуждать с ними обычно нечего...
Шигорин, ну ты-то завязывай уподобляться своей пастве! Позорище....
| |
|
6.123, Michael Shigorin (ok), 15:15, 21/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>> подскажи, а студентам-полотёрам-мс категорически запрещается писать опенсорс
>> Похоже, им категорически запрещается думать, поэтому и обсуждать с ними обычно нечего...
> Шигорин, ну ты-то завязывай уподобляться своей пастве! Позорище....
Паства тут ни при чём, поскольку вопрос технический, а не духовный (и я сам паства). А с коллегами тут единодушен -- вещатели "правды", в том числе Вы лично, и тем более дешёвой рекламы MS -- здесь невостребованы вместе со своим (если вообще своим) мнением. Научитесь _слышать_, а не только вещать -- приходите.
Сколько раз это надо повторить, чтобы дошло?
PS: слово "правда" забрано в кавычки потому, что выставляете как правду либо неправду, либо смесь правды с ложью; либо недоговариваете.
| |
|
|
|
|
|
1.56, Аноним (-), 18:40, 20/03/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>>При этом различия в производительности и потреблении ресурсов оказались не такими заметными как можно было предположить.
А вес фрэймворка интересно сравним?
| |
1.64, arisu (ok), 20:48, 20/03/2013 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
очень ценное сравнение от человека, который:
«Please note these are only my guesses — guesses of developer neither much experienced in plain C nor in EFL.»
в принципе, дальше и разбирать неинтересно.
| |
|
2.67, skybon (ok), 21:19, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
Бенчмарк может произвести и непрограммист.
Ну а то, что на QML писать легче чем на EFL\GTK+\Motif\нужное подчеркнуть - факт.
| |
|
3.68, arisu (ok), 21:31, 20/03/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Бенчмарк может произвести и непрограммист.
ага. а домоходяйка — управлять государством.
> Ну а то, что на QML писать легче чем на EFL\GTK+\Motif\нужное подчеркнуть
> — факт.
это не факт, это теория. то, что яростные обличители и находители простоты не знают, как работает Edje и Embryo, и как создаются интерфейсы в EFL — даже не удивительно. удивительно было бы, если бы знали.
| |
|
4.69, Аноним (-), 22:01, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
офтоп
> ага. а домоходяйка — управлять государством.
Будьде добры, не выдирайте цитату с кровью, иначе Ленин вас покусаетъ. Он говорил "Каждая кухарка может управлять государством, если её научить." Почему-то большинство забывает конец фразы. Видимо удобно.
а по теме - сравнивать довольно небольшой набор C библиотек и огромный плюснутый qt/qml - бред. еще больший бред кодить интерфейсы на C. Гр. интерфейс по своей природе декларативен. и стараться писать его в 21 веке надо в чём угодно, только не в императивных языках.
| |
|
5.71, arisu (ok), 22:23, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Видимо удобно.
ну, гейтсу же приписывают высказывание про 640 кб. пусть и ленин пострадает.
> а по теме — сравнивать довольно небольшой набор C библиотек и огромный
> плюснутый qt/qml — бред.
сравнивали удобство создания морды как раз, и сопряжения её с логикой. тут как раз всё более-менее нормально.
> еще больший бред кодить интерфейсы на C.
именно поэтому в EFL так делают только любители Elementary. для Edje морда делается на Embryo и описывается местами похоже на qml. там внутри почти pawn есть, специально для всяких нестандартных переходов и анимашек. но можно и без него, получается всё равно симпатично. конечно, морду можно заменять, вплоть до вообще переделать.
> Гр. интерфейс по своей природе декларативен.
ровно до тех пор, пока декларации поддерживают хотелки. как только хотелки выходят за рамки — начинается разного рода битьё в бубен.
| |
5.79, Аноним. (?), 22:58, 20/03/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Будьде добры, не выдирайте цитату с кровью, иначе Ленин вас покусаетъ. Он говорил "Каждая кухарка может управлять государством, если её научить." Почему-то большинство забывает конец фразы. Видимо удобно.
Тогда уж будьте добры сами цитировать правильно и не придумывать не существующих концов.
"Мы не утописты. Мы знаем, что любой чернорабочий и любая кухарка не способны сейчас вступить в управление государством. Но мы требуем немедленного разрыва с тем предрассудком, будто управлять государством, нести будничную, ежедневную работу управления в состоянии только богатые или из богатых семей взятые чиновники."
«Удержат ли большевики государственную власть?» 1917.
| |
|
6.80, arisu (ok), 23:26, 20/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
ну, *по сути* он правильно сказал. разве что не надо было заявлять это как цитату.
| |
|
7.88, Vkni (ok), 23:52, 20/03/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
> ну, *по сути* он правильно сказал. разве что не надо было заявлять
> это как цитату.
Нет. *По сути*, анонимус переврал, как и ты (кстати, слегка отредактировал и последний аноним :-). У ВИЛ утверждается не то, что КАЖДАЯ кухарка может, а что НЕ ТОЛЬКО богатые чиновники могут. Т.е. среди людей, не являющихся богатыми чиновниками есть люди, способные управлять государством. Совершенно не обязательно, что эти люди - кухарки или чернорабочие.
Т.е. из цитаты ВИЛ вообще не следует даже, что "хоть одну кухарку можно научить управлять государством", не говоря уж о "КАЖДОЙ кухарке". :-)
| |
|
|
|
|
3.85, Аноним (-), 23:43, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ну а то, что на QML писать легче чем на EFL\GTK+\Motif\нужное подчеркнуть - факт.
Поэтому низкокачественного и глючного быдлокода будет больше.
| |
|
|
1.70, Аноним (-), 22:11, 20/03/2013 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Про отладку ни слова. Это здорово. Можно за пять минут написать на qml и день отлавливать баги. А можно день писать код и 5 минут потратить на отладку. Имхо, я люблю писать код, а не заниматься тестированием. Кстати про профилирование, тестирование (любое) тоже ни слова. Ни средствами IDE, ни самописными скриптами. Ждем продолжения.
| |
|
2.84, piteri (ok), 23:42, 20/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Про отладку ни слова. Это здорово. Можно за пять минут написать на
> qml и день отлавливать баги. А можно день писать код и
> 5 минут потратить на отладку. Имхо, я люблю писать код,
> а не заниматься тестированием. Кстати про профилирование, тестирование (любое) тоже ни
> слова. Ни средствами IDE, ни самописными скриптами. Ждем продолжения.
Если думать когда пишешь код, то можно за пять минут написать код и пять минут потратить на отладку. Отладка - крайнее средство когда логи бесполезны.
| |
|
3.87, Аноним (-), 23:44, 20/03/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Если думать когда пишешь код, то можно за пять минут написать код
> и пять минут потратить на отладку. Отладка - крайнее средство когда логи бесполезны.
В теории все просто. На практике когда будет какая-нибудь навороченная, многопоточная, event-driven прога - вы опупеете что с отладкой, что с логами. Особенно когда проблемная ветка кода вызывается только после дождичка в четверг високосного года, например.
| |
3.98, Crazy Alex (ok), 01:23, 21/03/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
А с логами - это уже не отладка, по вашему? Только если пошагово в дебаггере прыгать? Впрочем, отладку гуя по логам - это, конечно, "гениальное" предложение.
| |
|
4.100, arisu (ok), 01:40, 21/03/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Впрочем, отладку гуя по логам — это, конечно, «гениальное» предложение.
нормальное вполне. отладчик в принципе неудобен, и не только для этого. в идеале вообще желательно внутри софта иметь командную консоль, откуда можно тормознуться и исследовать/менять состояние софта. ну да, встроеный отладчик получается. а если там ещё и monkey pathcing есть…
| |
|
|
|
|