Отличный пост, спасибо. Всегда было интересно (даже не знаю, почему), что у этих штук внутри. Только вот поискав в Сети названия некоторых железяк, в конце концов наткнулся на интересную папку с документами. Как-то прямо даже не знаю, что сказать.
Я как-то имел несчастье принимать некоторое участие в разработке т.н. ERP системы (сомневаюсь, что она может считаться настоящим ERP, но заявлялась как таковая). Там всё было по последнему пшику моды тех времён, чтоб значит Web Services и все дела. В архитектуре этой монструозности была так органично заложена SQL-инъекция (куски SQL-запросов передавались вебсервисам), что по-человечески вылечить её было вообще нельзя. Пришлось сделать честный парсер для некоторого подмножества допустимых кусков SQL, чтобы не пропускать вредоносные запросы. Откровенная глупость, но в той ситуации что-то другое было сложно придумать. Ещё было массовое редактирование бесчисленных типовых формочек и хранимок perl-скриптами, да и другие прелести. Меня аж до сих пор коробит, когда вспоминаю эту похабщину, иногда даже хочется, чтобы память отшибло.
Ну вот, автор уже опенсорснул проект. telerik.com пожертвовали $4500, благодаря чему первичная ступень краудфандинга уже достигнута. До демократических выборов двух дополнительных десктопных редакторов пока не добрались, но над интеграцией с одним из таковых, видимо, своим основным, Marijn уже начал. И это оказался Emacs (гы).
У меня «беда» — я емаксер :) Как-то сделал вот такую штуку (см выпуск Emacs Rocks), ныне развиваемую в основном другими, но мной также используемую. Я очень бы хотел прикрутить туда Tern — вот уж где он не помешает.
Интересно, как это соотнесётся с чёрным списком сайтов. Понятно, что скорее всего очень просто — гугл обеспечит поддержку списка, либо закроет фичу для России. Но вдруг возможны варианты?..
And, while we're at it, не забудьте рассказать мне, почему мне надо продать машину с МКПП и перейти на АКПП. И почему надо вместо Newcastle Brown Ale употреблять отечественный вариант велкопоповецкого.
Я упомянул code signing как элемент, мешающий разработке, когда я не могу просто так запустить ту или иную прогу или скрипт на устройстве, не выполнив каких-то дополнительных телодвижений (кстати, этой бякой Nokia зачем-то подпортила N9, в виде Aegis, к счастью, народ нашёл обходные пути). Соответственно в такой враждебной среде опенсорс будет портироваться чаще всего только в случаях, когда разработчику за данный проект непосредственно платят, соответственно, вероятность портирования вещей типа биндингов для различных динамических языков, а также собственно компиляторов/интерпретаторов этих языков резко снижается (собственно, IDE для WinRT, наверное, не так уж нужен — машинки слабоваты для писания кода непосредственно на них самих, а вот тулзы и биндинги — очень нужная вещь). Т.е. получается, что таки писать по-человечески можно будет лишь всё на том же шарпе.
С ПХП я тоже имел дело. Вот к чему я, пожалуй, отношусь ещё хуже, чем к .NET (но, прошу заметить, иногда ковыряю при необходимости и ПХПшный код).
Что логично, если есть EF/L2S и т.п. Если аналогов нет — почему бы и нет?
Это хорошо, что сейчас оно есть. Бесспорный шаг вперёд. А «в старину» политика часто была — DataSet в зубы и вперёд. Т.е. пока MS ORM'ы не благословил — они были мимо. Давно уже не .NET'ил, но сильно подозреваю, что и сейчас наверняка немало проблем с «отложенным благословением».
А что надо-то?
А надо, как в емаксе. Не знаете как — не говорите, что оно есть :)
Ага, а еще java, groovy и т.п. :)
Да вот Java мне как раз нафиг нужен. Мне надо, чтобы я написал функцию из трёх строчек в *scratch*,
нажал на ней C-M-x и она стала частью емакса.
Ну, а дальше, я не буду скатываться в холибор динамика vs статика ;)
Поддерживаю такое нежелание. Я просто хотел сказать, что автоматический рефакторинг более значим для языков с большим количеством строк на, так скажем, единицу смысла.
Блин, вот удивительно, от эппловодов приходится часто слышать рассуждения о том, что мне нужно, а что нет. Они, видите ли, лучше меня знают мои потребности. А WP ещё даже взлететь толком не может, а уже туда же. P.S. Use case см чуть выше.
Т.е. на самом деле проблема вовсе не в продуктах, а в людях. Так зачем вы брызжете слюной в сторону MS & Co уже почти десяток коментов?
Потому как MS способствует концентрации именно таких людей вокруг своих технологий. Хотя бы благодаря их attitude по отношению к Open Source. Вон взять же тот NHibernate. Неплохая вещь, однако (во всяком случае, в годы моей работы с продуктами MS) использование этой «неблагословлённой» технологии в MS-ориентированной среде чаще всего сильно не приветствовалось. Да и собственно сам .NET создаёт впечатление, что ядро создано очень умными людьми (взять того же лиспера Patrick'а Dussud'а), а наружные слои — стаей обезьянок. И именно обезьянки — движущая сила многих MS shops.
Это есть в студии, и даже больше в экстеншенах.
dabbrev, нормальное деление окошек? Не уверен. А уж elisp'а так точно нет. Я же предпочитаю при необходимости
иметь возможность сбацать себе «extension» за 2-5 мин и без напряга.
АХАХАХААХАХАХАХАХ, простите, но вот тут я просто ржу. Вот уж где-где, а в дин. языках авторефакторинг как раз востребован больше, чем где-либо.
Как минимум, код на том же python'е выходит гораздо компактнее, чем на том же шарпе. Хотя бы из-за этого имеющихся средств типа rope в купе с хорошим тестовым покрытием кода лично мне более чем достаточно.
Лично мне возможность видеть и модифицировать файловую систему устройства позволяет быстрее и лучше разобраться в работе платформы, если я собираюсь под неё реализовать какую-либо софтину. Да и просто — вот есть у меня на телефоне папка с музыкой и аудиокнигами, и я хочу, чтобы (1) эта здоровая папка НЕ дублировалась на моём компе в целях синхронизации и (2) чтобы я смог скопировать туда файлы привычной командой cp или через dired в емаксе, или указать её в качестве папки назначения в моём скриптике для сборки большого mp3 с абукой из кучи маленьких — я предпочитаю выполнять подобные действия без кучи кликов по разным прогам, просто со своего bash prompt. Вот для таких дел sshfs мне вполне подходит, в отличие от сомнительных синхронизационных прог и дров от производителя, не имеющих даже поддержки линуха.
Да, хотелось бы надеяться. Также очень бы хотелось увидеть Qt для iOS и Android. С Android'ом, думаю, разберутся, но вот как Digia решит проблему с iOS, под который тоже вроде обещают сделать Qt — не знаю. По-моему, многие из требований App Store конфликтуют с архитектурой Qt. Как минимум, QtWebKit может придтись выпилить :(
VS + .NET + MS у меня, к счастью, никого не отбили, но тем не менее отняли несколько лет жизни, проведённых в обнимку с чужим кривым Ctrl-C-Ctrl-V-based кодом, ADO.NET с его дремучими датасетами, логикой в хранимках MS SQL и старым добрым Reflector'ом — средством что-то понять и поужасаться кишкам разных ASP.NET/Windows.Forms. И уж слишком много тупняка в этой среде. Последней каплей было (несколько лет назад) собеседование n-ного числа .NET'чиков подряд в искренней надежде оставить одно не очень маленькое .NET'овское приложение .NET'овским (т.к. переписывание с нуля, которое таки позже произошло, при всех возможных плюсах — крайняя мера). Один товарищ попался приличный, но его перехватили, а потом… Даже слов нет, чтобы это описать. Чего стоит только кадр, описавший свой собственный чудесный способ программирования — у него куча не всегда очень маленьких сниппетов на все случаи жизни, он их по мере необходимости копипастит куда надо — так весь код у него и получается.
А про сравнение с Emacs — кому-то студия действительно больше подходит, но по мне тривиальная расширяемость на основе elisp, и такие базовые фичи как emacs'овое деление окошек, dabbrev, возможность без труда всё делать при помощи клавиатуры без какой либо мышиной возни etc. — это must have, и их отсутствие не может быть скомпенсировано даже такими плюшками, как ReSharper, тем более что в случае динамических языков потребность в средствах автоматического рефакторинга хоть и есть, но заметно меньше.
В жизни всякое бывает. Хорошо, если так получится. Но возможны и другие варианты. В конце концов, я могу захотеть сделать app для своих целей. И сейчас-то это как-то не ахти — рынок поделен на напрочь закрытый iOS и Android, для которого надо писать на Java (ну, есть ещё HTML5-вариант, но это тоже не всегда идеальная штука). Меня бы гораздо больше устроила возможность применения QML для пользовательского интерфейса. А если WP наберёт обороты, то это заметно снизит шансы на распространение действительно годных мобильных платформ, таких, как Sailfish OS и, может быть, Ubuntu. Соответственно, сохранится ситуация, когда Qt-шный app я сделать не смогу даже для себя. Вот этого бы не хотелось.
Что вы хотите этим сказать? Не знаю, народ не жалуется особо. Ни в .NET-времена, ни сейчас. Когда только начал активно заниматься коммерческой разработкой, да, бывает, уносило в сторону (gold plating и всё такое), потом прошло. Даже на UI как-то не слишком жалуются, хотя я себя не считаю себя умельцем в этой области. То, что я в душе так горячо не люблю некоторые технологии, не значит, что я не стану их использовать, если действительно возникнет такая необходимость. Необходимость будет — и на коболе что-нибудь напишу. Да, будет неприятно, и при наличии реальных альтернатив я постараюсь такого избежать. Но если надо — то надо, и если с над тем же софтом далее должны работать C#-еры или .NET-чики, я им насильно лисп впаривать не стану. И командной строкой бабулек, например, заставлять пользоваться тоже не буду, не беспокойтесь. Высказанная эгоистическая позиция «мне пофиг на тупых консумеров, дайте то, что надо мне» относится только к области мобильных ОС, созданием которых я не занимаюсь.
С ПХП я тоже имел дело. Вот к чему я, пожалуй, отношусь ещё хуже, чем к .NET (но, прошу заметить, иногда ковыряю при необходимости и ПХПшный код).
Это хорошо, что сейчас оно есть. Бесспорный шаг вперёд. А «в старину» политика часто была — DataSet в зубы и вперёд. Т.е. пока MS ORM'ы не благословил — они были мимо. Давно уже не .NET'ил, но сильно подозреваю, что и сейчас наверняка немало проблем с «отложенным благословением».
А надо, как в емаксе. Не знаете как — не говорите, что оно есть :)
Да вот Java мне как раз нафиг нужен. Мне надо, чтобы я написал функцию из трёх строчек в *scratch*,
нажал на ней C-M-x и она стала частью емакса.
Поддерживаю такое нежелание. Я просто хотел сказать, что автоматический рефакторинг более значим для языков с большим количеством строк на, так скажем, единицу смысла.
Потому как MS способствует концентрации именно таких людей вокруг своих технологий. Хотя бы благодаря их attitude по отношению к Open Source. Вон взять же тот NHibernate. Неплохая вещь, однако (во всяком случае, в годы моей работы с продуктами MS) использование этой «неблагословлённой» технологии в MS-ориентированной среде чаще всего сильно не приветствовалось. Да и собственно сам .NET создаёт впечатление, что ядро создано очень умными людьми (взять того же лиспера Patrick'а Dussud'а), а наружные слои — стаей обезьянок. И именно обезьянки — движущая сила многих MS shops.
dabbrev, нормальное деление окошек? Не уверен. А уж elisp'а так точно нет. Я же предпочитаю при необходимости
иметь возможность сбацать себе «extension» за 2-5 мин и без напряга.
Как минимум, код на том же python'е выходит гораздо компактнее, чем на том же шарпе. Хотя бы из-за этого имеющихся средств типа rope в купе с хорошим тестовым покрытием кода лично мне более чем достаточно.
А про сравнение с Emacs — кому-то студия действительно больше подходит, но по мне тривиальная расширяемость на основе elisp, и такие базовые фичи как emacs'овое деление окошек, dabbrev, возможность без труда всё делать при помощи клавиатуры без какой либо мышиной возни etc. — это must have, и их отсутствие не может быть скомпенсировано даже такими плюшками, как ReSharper, тем более что в случае динамических языков потребность в средствах автоматического рефакторинга хоть и есть, но заметно меньше.