За кем\чем будущее? Что будет дальше? И где прячется перспектива?

Доброго всем ! Вопросы будущего :
Условно поделим перспективные технологии для разработчиков от «самой» до «не очень» :
1) WEB (сайты, различные веб-сервисы)
2) Mobile (iOS, Android, WinPhone)
3) Desktop-приложения + GameDev
4) Системщина
5) ...

Верны ли утверждения :

a) «Разработка под определенную мобильную платформу не имеет смысла так как в перспективе исключительно web-приложения где клиентом будет веб-браузер мобильного устройства который может получить доступ и выполнить любую задачу\приложение»

b) «C#/.NET не используется и не будет использоваться для больших веб-проектов так как: 1) Там плотно засела Java и никто не будет рисковать(консервативный рынок)... 2) Этот инструмент просто не годиться для этого так как значительно уступает Java технологиям.»

c) «Ruby on Rails — бесперспективен для разработчиков из-за отсутствие заказчиков\проектов на данном инструменте.»

d) «Разработка низкоуровневых приложений (драйвера, прог-контролеры, средства защиты ПО\железа, работа которая очень близка к железу) никогда должно не оплачивалась и не оплачивается, считается менее перспективной так как это более необходимо для нужд самой компании либо данные продукты имеют очень ограниченный круг заказчиков или не пользуются спросом»

Интересно будет знать что вы думаете по этому поводу.
Также интересно как вы представляете IT-будущее ? Например мир без ПК одни планшеты исключительно с web-операционной системой или ещё что-то интересное ...

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

RoR, Python+Django постепенно будут исчезать за ненадобностью, а для маленьких проектов и php сгодится, ниша С++ будет сокращаться медленно но уверенно плюс за счёт того что люди убегают в Obj-C, .Net никогда не догонит Java по востребованности, а сама Java как стек технологий станет такой жирной что джунам будет всё трудней лезть в это проприще. Мелкомягкий .Net будет существовать за счёт формошлепства и поддержки древностей web. Развитие SaaS, мобильных устройств это наше будущее, максимально перспективно будет это комплект из JS, nodeJS, HTML5, Java, всё остальное отойдёт на второй план, а потом мы все умрём ...

PS: Это всё не мои слова, кроме: «мы все умрём»

уж точно не рубист) передавайте чуваку-лиду примерно следующее: encrypted-tbn1.gstatic.com/...k919Efpb8vdhSRw

Ну дык поговори с другими :) Они расскажут туже фигню, только с ротацией языков.

Ввиду того, что в следующие лет 20 быстродействие процессоров расти не будет, но сложность решений/приложений/задач продолжит расти — для разработчиков будет существовать 2 альтернативы:

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

Тренд возврата к C++ в мобильных устройствах (фонах/падах) уже пошёл — и в этой нише скоро останутся либо вэб-приложения (с использованием только легковесных библиотек/фреймворков), либо решения, с основным кодом на C++.

Тренд возврата к C++ в мобильных устройствах (фонах/падах) уже пошёл
Я думал что С++ там это скорее исключение чем правило !

C++ там правило. Для эпловских штук можно писать лишь на C или C++, Майкрософт развернул обширную программу «гоу нэйтив» и тоже рассматривает C++, как основной язык разработки для своих фонов/падов, «Андроиды» выпустили NDK.

И это неудивительно, т.к. если на на десктопы можно понавешеивать много процессоров с кучей ядер — на мобильных устройствах ещё долго будут процы с макс 4 ядра по 1.5 ГГц. И скоро на таких «виртуальные машины» не покрутишь. :)

будут процы с макс 4 ядра по 1.5 ГГц
Хоспади, какое убожество

Да, мобильная жизнь тяжела и полна лишений. :)

некропостер! :)
А если серьезно, то ваши дешевые вбросы были забавны вначале, сейчас они выглядят глупо.

Не спрашивай за чем будущее, потому что будущее за тобой.

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

Ага, это как прочитай книгу С++ для чайников и стань Senior:)

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

Сам MS грозился еще 10 лет назад что все свои десктопные продукты перепишет на .NET ну и где сейчас .NET кроме веба?
Еще пара тройка стандартов и С++ не будет уступать C# по юзабилити но существенно рвать по эффективности, а в свете будущих паралельных вычислений наверное вообще ему не будет равных.
Даже провал мобильной платформы WP без поддержки С++ много о чем говорит.

Сам MS грозился еще 10 лет назад что все свои десктопные продукты перепишет на .NET ну и где сейчас .NET кроме веба?

Ну да, копание в куче старого гавнокода в одной компании в которую еще попасть нужно — это замечательное светлое будущее.

Еще пара тройка стандартов и С++ не будет уступать C# по юзабилити но существенно рвать по эффективности

А потом еще немного что бы понаписывать нужных фреймворков, и глядишь в недалеком будущем следующего века ц++ отберет кусочек рынка у умершего Ц#

в свете будущих паралельных вычислений наверное вообще ему не будет равных.

А что не так у конкурентов с паралельными вычислениями?

Даже провал мобильной платформы WP без поддержки С++ много о чем говорит.

Да, именно из-за ц++ оно и провалилось, иос и андроид окупировавшие територию совсем не причем.

Фреймворков в С++ было всегда предостаточно на любой вкус.
Вычисления можна делать и на турбо паскале конечно, это вопрос упорства только ;-)

Поверь андроид без NDK так же провалился бы, а так сейчас тяжело найти приложение которое было бы на iPhone но не было на Android.

Фреймворков в С++ было всегда предостаточно на любой вкус.

Да, мне пожалуйста ORM, maven и jfs для ц++ заверните.

Вычисления можна делать и на турбо паскале конечно, это вопрос упорства только ;-)

Еще раз спрошу, в чем преимущества ц++ в паралельных вычислениях перед той же джавой?

Поверь андроид без NDK так же провалился бы, а так сейчас тяжело найти приложение которое было бы на iPhone но не было на Android.

А как же иос стартовал без всяких ndk?

Первая ссылка в гугле по ORM C++: www.codesynthesis.com/products/odb
по другим ищи сам, думаю найдется много всего.
Преимуществ особых нету, но есть удобства использования например CUDA намного легче интегрируется с С/С++, чем с .NET я уже молчу про фреймворки заточенные под C++.

Неважно кто как стартовал, важно к чему пришли, тем кто выходит на рынок позже других нужно предложить не меньше чем другие, а лучше еще больше возможностей: был бы С++ и .NET одновременно на платформе WP прекрасно все бы были только рады.

Первая ссылка в гугле по ORM C++: www.codesynthesis.com/products/odb

Да, это прекрассный ОРМ, без распределенных транзакций, юзающий нестандартное АПИ драйверов, без кеша, где что бы что-то маломальски сложное запрограммить нужно писать sql руками. Таким был хибернейт наверное, лет 10 назад.

по другим ищи сам, думаю найдется много всего.

что-то сомневаюсь

Преимуществ особых нету

Ок, отлично что ты до этого дошел

но есть удобства использования например CUDA намного легче интегрируется с С/С++, чем с .NET я уже молчу про фреймворки заточенные под C++.

куда это конкретно нишевая штука, ну типа как смарткарты на джава

Неважно кто как стартовал, важно к чему пришли,

важно, т.к. показывает что наличие поддержки ц++ конкурентным преимуществом не является

Конкурентное преимущество это когда у тебя есть а у других нету, а вот когда у всех есть а у тебя нету то это уже НЕОБХОДИМОСТЬ. Поэтому С++ сейчас необходимость, а .NET может быть для MS как вы говорите конкурентным преимуществом с некоторыми оговорками потому как у конкурентов все же есть Java. Вот когда MS поддержит С++ и Java тогда только .NET станет полноценным конкурентным преимуществом.

а вот когда у всех есть а у тебя нету то это уже НЕОБХОДИМОСТЬ.

Если вещь некритичная это маленькая необходимость не влияющая на ход дел.

Для MS некритичная, для разработчиков критичная.

Если бы речь шла не об смартфоне то согласился, а так накуй кому нужен такой смартфон что и показывает практика. ;-)

Опять 25. А почему кому то сдался ИОС и андроид пока на них не выпустили НДК?

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

Андроид получил распространенние из-за уникальной фичи — клевая опен сорс операционка для мабил. Вот мы и пришли к тому что поддержка или неподдержка ц++ иррелевантна для успеха. Нужна уникальная фича.

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

Продолжай верить сказкам короче ;-)

пруфлинк бы про то как гугл платил htc и уговоры железячников.

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

Когда одна система доступна только на 4 дорогих девайсах одной фирмы, а разработчику нужно платить 100 долларов, даже для того что бы девелопать для себя что-то. А другая система — доступна всем производителям девайсов, а разработчикам можно просто скачать сдк, и уже начать девелопать, то вторая система получить больше популярности со временем. В добавок если гугл везде рекламирует и продвигает систему)

В городе Львове, я мог пойти в любой магазин мобильных телефонов, и выбирать себе какой то андроид, когда WP7 и близко не было, а айфон можно было купить только в интернет магазинах.

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

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

Поверь андроид без NDK так же провалился бы, а так сейчас тяжело найти приложение которое было бы на iPhone но не было на Android.

Речь шла не об Android или iPhone, а о влиянии наличия NDK на развитие платформы.

Так они и переписали. На чём, по вашему, сделанна та же Cтудия, или Офис?

Оболочку переписали на WPF, а все внутренности как были на С++ так и остались. Когда внутренности SQLServer перепишут на .NET тогда можна будет поговорить о будущем .NET-a ;-)

Какая связь с будущим .NET?

Это будет означать что можна избавлятся от нативного кода на уровне API операционной системы и сказать отныне все пользовательские программы должны быть на православном .NET под предлогом того что безопастность и отказоустойчивость системы будет на порядок выше. Насколько я понял эту мечту MS хотел воплотить в платформе WP, но оказалось что платформа провалилась без участия тысяч разработчиков которые предпочитают все еще использовать С++ и которые не захотели тратить свои ресурсы чтобы портировать все на SilverLight/XNA.NET решение на базе которого возможно даже и не взлетит как результат большие риски для бизнеса.

Ну они как бы не переписали, потому что пустым переписываним занимаются обычно школьники. Все работает

Все работало и под DOS-ом, продолжайте в таком же духе ;-)

Надо полагать, гвозди вы забиваете плоскогубцами?

Еще пара тройка стандартов

... и людей, понимающих С++ не останется совсем.

Современный С# по сложности уже не особо отличается от С++. Так что, то же самое можно сказать и про него.

Прікол в тому що під Win RT можна писати як на С++ так і на Джаваскріпті. Є АПІ-шка, яка одинакова для С++, С-шарпа, Джаваскріптів, тому славні переваги С++ з unmanaged кодом зводяться на нуль, тобто МС явно робить багато змін, також відмовились від MFC i GDI.

Що значить переваги C++ зводяться на нуль? Чи для вас швидкiсть JS vs С++ однакова? Якщо сам MS там звiв С++ до нуля то що тепер робити розробникам? Ще невiдоме майбутнэ WinRT, але не вважаю що там всiх чекаэ веселка ;-)

На самом деле кишки WinRT MS написала на С++, а все остальное — это обертки над нативным кодом.

Так вы поведаете нам почему будущее за «плюсами» или нет ?

Поведывал но сайт глючит ;-(

Может быть вы так уверены в ярком будущем С++ из-за нового стандарта (С++11), там действительно есть очень приятные моменты и новые возможности !

Новый стандарт хорош но много вкусного к несчастью упустили. ;-(

Хотелось бы услышать точку зрения на счёт С++, почему вы так утверждаете ...

a) «Разработка под определенную мобильную платформу не имеет смысла так как в перспективе исключительно web-приложения где клиентом будет веб-браузер мобильного устройства который может получить доступ и выполнить любую задачу\приложение»

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

b) «C#/.NET не используется и не будет использоваться для больших веб-проектов так как: 1) Там плотно засела Java и никто не будет рисковать(консервативный рынок)... 2) Этот инструмент просто не годиться для этого так как значительно уступает Java технологиям.»

1. Шарп и дотнет используется и будет использоваться для больших веб-проектов. В равной степени как и жаба. 2. Шарп уступает жабе по инновационным проектам. Я бы не отказался бы от Neo4j на дотнете.

d) «Разработка низкоуровневых приложений (драйвера, прог-контролеры, средства защиты ПО\железа, работа которая очень близка к железу) никогда должно не оплачивалась и не оплачивается, считается менее перспективной так как это более необходимо для нужд самой компании либо данные продукты имеют очень ограниченный круг заказчиков или не пользуются спросом»

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

А вообще будущее за специализацией. Разделение рынка будет только углубляться. С одной стороны планшеты и домашние пользователи, с другой корпоративные заказчики и ПК/железо. После всплеска мобильных приложений следует ожидать повышения спроса на бизнес-приложения.

Перспектива прячется в Window -> Open Perspective :)

По поводу будущего: мир стремится к интернету вещей. Всё будет ходить в интернет и конектиться друг к другу :) .

«Разработка под определенную мобильную платформу не имеет смысла так как в перспективе исключительно web-приложения где клиентом будет веб-браузер мобильного устройства который может получить доступ и выполнить любую задачу\приложение»

100% нет. Веб-приложения не могут использовать аппаратные и программные возможности устройств по максимуму, не могут сделать offline mode.

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

не могут сделать offline mode

могут. причем уже давненько.

b) «C#/.NET не используется и не будет использоваться для больших веб-проектов так как: 1) Там плотно засела Java и никто не будет рисковать(консервативный рынок)... 2) Этот инструмент просто не годиться для этого так как значительно уступает Java технологиям.»

У нас на фирме очень даже хорошо используется эта технология. Проекты не маленькие. Для финансовых учреждений(не только для банков). Друг работает в международной фирме где все переводят с Java на C#.

А то что инструмент значительно уступает — это в чем же? Джава более консервативный язык, в то время как в C# очень много плюшек — лямбда выражения, Linq и т.д.

в чем преимущество перехода с Java на C#.? в чем выгода заказчика? по мне так, шило на мыло

Если у вас десктоп софт, то ответ очевиден. Или физическая боль от отсутствия лямбд. Правда можно пользоваться резиновой женщиной Guava

Или физическая боль от отсутствия лямбд

мне жаль людей, у которых боли от отсутствия лямбд.

p.s. java 8 принесет вам их.

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

мне жаль людей, у которых боли от отсутствия лямбд.

А мне не жаль.

Или физическая боль от отсутствия лямбд.

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

Нет нет, в существующем проекте не надо менять платформу. Я говорил с точки зрения разработчика, для проекта нужно выбирать наиболее адекватную технологию. Но если вы Java-разработчик и не дай Бог пишете под десктоп, вы мнительные и чуствительны к грехам Oracle, то в один прекрасный день вы плюнете и пойдете устраиваться .NET-разработчиком. Другое дело что большинство так не сделают из-за объективных преимуществ Java или просто Java головного мозга.

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

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

А сменить целую платформу — плясок нужно меньше ?

Если она matured и есть какой то выигрыш то почему бы и нет. Но это уже другой вопрос. Я дотнет плохо знаю.

Конечно могут быть всякие выигрыши, интеграция там с майкрософтом например итд. Но мы говорим о том, что мотиватором выступают наличие в языке лямбд. Аля если вот вам «„скажут“» делать очередной ентерпрайз, с можностью выбора джава или дотнет. То вы прям выбирите дотнет, только потому что в сишарпе есть лямбды ?

та нет, я такого не говорил.

Откуда я знаю зачем он будет это делать, я бы не менял. Может он считает что Scala — маргинальщина

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

1) Далеко не всегда, технологию выбирает разработчик.

2) Если таки разработчик, то выбор, скорее всего, будет основываться не на «адекватности» технологии (сознательных разработчиков очень мало).

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

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

И только мат перемат коллектива останавливает большинство программистов от скатывания в глубокий солипсизм в коде.

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

Прямо как в фразе кажется Хемингуэя:
Графоман от писателя отличается тем, что получает удовольствие во время написания, а писатель — после издания и признания.

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

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

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

При чем со стороны лямбдохейтеров наблюдается отсутствие аргументов.

мое ИМХО:
для дипломной работы наверное лябды круто.

Когда же тебе надо пропроцессить десятки миллионов мессаджей за 6 часов, или когда у тебя система, которая работает с сотнями миллионов узеров по всему миру, то лябды — это последнее, что хочется от джава.

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

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

В теории твой мессадж звучит классно, на практике — совсем другая история.

Мы просто говорим о разных точках видиния проэкта.

И что же у тебя за точка видения проекта такая? Обьяснишь?

Я не против лябд, я хочу примеров.

Примеры — любой апп на Ц#, руби, питоне, все везде используют лямбды.

В теории твой мессадж звучит классно, на практике — совсем другая история.

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

все все убедил

можешь сегодня спокойно спать :)

Та нет, сон нам только снится, таких как ты ниaсиляторов в интернетах еще пруд пруди.

с сотнями миллионов узеров по всему миру

Ого круто, вы в твиттере работаете что-ли? Хм, он на Scala...

Выступлю в защиту лямбдохейтеров. Главный аргумент: они не умеют ими пользоваться и не знают юз кейсы. Есть два варианта, разобраться, при чем не на уровне прочитать википедию, а подробно изучить какой-то ЯП с ними и написать пару приложений, потом вернуться на Java, и пустить слезу покаявшись в своем неведении. Второй вариант защищать на форумах безлямбдовую Java. Если таких будет много, то возможно лямбды тогда не добавят, будет мир во всем мире и коммунизм.

Главный аргумент: они не умеют ими пользоваться и не знают юз кейсы.

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

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

Ага, зачем джава если все равно все в машинные коды компилитсо.

Выступлю в защиту лямбдохейтеров. Главный аргумент: они не умеют ими пользоваться и не знают юз кейсы.

Не совсем так, более верно:

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

А не подскажешь какое тайное сакральное знание нужно что бы написать employees.filter(_.isMalе) вместо того что бы городить цикл?

А не подскажешь какое тайное сакральное знание нужно что бы написать employees.filter(_.isMalе) вместо того что бы городить цикл?

А кто говорил про сакральные знания и/или циклы?

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

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

Нет, я говорю что многие не умеют ими пользоваться, а про сакральные знания — это уже ваши фантазии.

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

Про сакральные знания был вопрос а не фантазии.

Часто там где лямбды, там и замыкания. А с замыканиями можно много всякого интересного натворить, в том числе и отстрелить себе голову :-)

Ну так это к лямбдам отношения не имеет, эти проблемы уже есть в джаве в виде анонимных классов.

К слову сказать, В джаве достаточно жесткие правила передачи контекста из вне, что вкупе с «некрасивым» синтаксисом анонимных классов крайне снижает вероятность напороться на подобные грабли. А в том-же груви, я таки несколько раз на ровном месте умудрился «поймать себя за хвост». Потому я отношусь со скепсисом к упрощениям в жабе 8, за которые тут так многие ратуют.

Кстати, раз уж речь об це№, обще-вопрос — в це№ именно лямбды, или таки замыкания ? :-)

в том-же груви, я таки несколько раз на ровном месте умудрился «поймать себя за хвост».

А можно примерчик?

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

И таки есть хитрые способы отстрелить себе голову: например вынести локальную переменную из метода.

И в чем отстрел заключается? В чем нештатность или ошибочность ситуации?

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

Я знаю один реальный пример: вы создаёте список делегатов, замыкающихся на переменную цикла. В C#5 пофиксили.

В джаве поэтому замыкания оперируют только с final переменными.

Ну и в чём польза таких замыканий?

Имеют read only доступ к контексту? Хотя тут есть глюк, колекции могут быть модифицированы конечно.

Я к тому, что замыкание на константу малополезно. От ряда проблем такая мера спасает, но при этом сводит на нет весь профит.

Профит — передавать данные среды в логику замыкания.

но при этом сводит на нет весь профит.

Какой же профит оно сводит на нет?

Какой же профит оно сводит на нет?

ну как какой? возможность модифицировать вашу переменную черти откуда, в непонятный промежуток времени.

Я немного не о том. Просто нельзя замкнуться на не константу, даже если вы не собираетесь её менять.

Просто нельзя замкнуться на не константу, даже если вы не собираетесь её менять.

И что? Если вы не собираетесь ее менять, то почему бы не сделать ее «константой»?

А если её нужно менять до замыкания? Нельзя же просто так взять, и сделать обычную переменную ридонли.

А если её нужно менять до замыкания?

Значит она является результатом некоторых вычислений. Эти вычисления логично вынести в метод, а результат метода константа.

Итого: на выходе константа + улучшение кода.

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

Как человек который разгребал методы на 1К ЛОК, говорю что можно в 99% случаев, 1% — это тот писец, когда код настолько не вменяем что его проще переписать.

Значит она является результатом некоторых вычислений. Эти вычисления логично вынести в метод, а результат метода константа.

Поправьте если ошибаюсь, я всё таки не спец по Джаве. Финал может быть определён только при инициализации или в конструкторе, так?

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

Финал может быть определён только при инициализации или в конструкторе, так?

Финальная переменная может быть определена там же где и любя другая переменная.

То что вы говорите это финальное поле.

Ух ты, не знал. Первая возможность Джавы, которую мне хочется в Шарп. Тогда вы правы, всё ок.

Ух ты, не знал. Первая возможность Джавы, которую мне хочется в Шарп.

Стоп. В Ц№ низя определить константу в методе?

Я про вот это:

void method() {
final int i = 123;
}

Я такой возможности не знаю.

final class — sealed
final property — readonly
final static property — const

final variable — нет, и мне его хочется.

final variable — нет

От спсыбо :)

Теперь могу троллить дотНетчиков: И эти люди нам рассказывают про ЛИНКу и лямбды :)

Ну батенька, по сравнению с ЛИНКом, ТПЛ или Асинком (которым вас начнут тролить, когда сами в нём разберуться) — это песчинка :). Но таки да, из всех фич Джавы, которых нет в Шарпе — мне хочется только это.

Хотя, конечно, больше всего хочется контракты из Spec#. Каждый раз надеюсь, что Мелкософт включит их в стандарт языка.

Ну батенька, по сравнению с ЛИНКом, ТПЛ или Асинком (которым вас начнут тролить, когда сами в нём разберуться) — это песчинка :).

Это то что реализуется на уровне библиотек, а вот финальные переменные...

Если библиотека входит в стандарт языка — то чи не пофиг. Много вы на джаве без библиотек напрограммируете?

Много вы на джаве без библиотек напрограммируете?

Как и на любом другом языке — максимум «хелло ворлд».

Я и в этом не уверен. Мне бы понадобилось подключить System.

Я и в этом не уверен. Мне бы понадобилось подключить System.

Фуууу какой атстойный язык! В джаве Систем находитсо в ленге, то есть подключаетсо автоматом. :)

Поэтому:

И эти люди нам рассказывают про ЛИНКу и лямбды :)

Это то что реализуется на уровне библиотек, а вот финальные переменные...

А еще у них нету чекед эксепшн

А еще у них нету чекед эксепшн

Ну тада точно можно закапывать (эт не совсем сарказм)

Ну тада точно можно закапывать (эт не совсем сарказм)

а зачем вам чекед эксепшены? Имхо, вот что джаве таки не нужно, так это чекед эксепшены...

а зачем вам чекед эксепшены?

Чтобы знать что метод может выбрасывать такое-то исключение. Ваш К.О.

Чтобы знать что метод может выбрасывать такое-то исключение. Ваш К.О.

Не только знать, но еще и обязательно хендлить. Но практика показывает что от этой фичи больше вреда чем пользы. А вообще я вот с этим полностью согласен: www.artima.com/.../handcuffs.html

А еще у них нету чекед эксепшн

И в скале нету, ужас то какой.

А какое отношение аннотация имеет к чекед ексепшенам ?

Да, здесь я лажанулся, признаю. По мнению Одерского роль checked exceptions в скала выполняет Either, т.к. классические checked exceptions фигово ложатся на функциональный монадический стиль программинга.

Я могу ошибатся, но помойму с помощью Either нельзя указать какие конкретно ексепшены могут вывалится. Можно либо один конкретный ексепшен, либо базовый Exception. Получается что не совсем аналог.

Выхода два: делать композиции Either, типа Either[Exception1, Either[Exception2, Int]] или накопипастить много either с multiple choices, типа Either4[Ex1, Ex2, Ex3, T]

это смотря в каком языке. Вот в том же груви, или жс — можно.

Как и в программировании в целом. Но самое главное в этом то, что лямбды все-таки будут. И это хорошо

Или физическая боль от отсутствия лямбд. Правда можно пользоваться резиновой женщиной Guava

А как гуава заменяет лямбды?

Как то так:

Collection<string> c = filter(source, not(equalTo("Vasya")));

Collection<string> c = filter(source, not(equalTo("Vasya")));

От тока это все параллельно лямбдам. Что будете делать когда предикат чуть сложнее чем проверка на равенство. Или извращаться с map-ом или таки передавать анонимные классы.

Gauva (часть про коллекшены) — это скорее замена StreamAPI из java8.

Да, это не полноценная замена лямбд, хотя вполне возможно нагородить вполне мощный велосипед.

StreamAPI из java8.

шота ниче не гуглится

шота ниче не гуглится

Что-то такое:
cr.openjdk.java.net/...s-overview.html

Только сейчас вроде бы хотят не подмешивать все в коллекции, а вынести в интерфейс типа пары Iterable/Iterator.

Гуава заменяет следствие отсутсвия лямбд (в качестве жалкого подобия) — отсутствия нормальных операций над коллекциями, map, foldLeft, filter

отсутсвия лямбд (в качестве жалкого подобия) — отсутствия нормальных операций над коллекциями, map, foldLeft, filter

лол, просто, лол

foldl нет в гуаве, это 100пудов бо нима лямбд.

На одной лекции, физик, рассказывает:

«Был интересный эпизод, когда классики науки, включая Бора и Эйнштейна, утверждали, что цепную ядерную реакцию создать нельзя. И вот в журналах публиковались открытые статьи, в которых люди обсуждали возможности ядерных процессов, в начале 30 годов и середине, и вышла, забыл авторов, статья — первая из двух, было даже заявлено, что именно будет рассмотрено во второй. Но вторая часть не вышла. Никогда. Вдруг стало ясно, что до того понимали неправильно, что может долбануть, можно сделать так, чтоб долбануло

так что, flyman прав: «Гусары! Молчать!» )))))))

«Разработка под определенную мобильную платформу не имеет смысла так как в перспективе исключительно web-приложения где клиентом будет веб-браузер мобильного устройства который может получить доступ и выполнить любую задачу\приложение»

верно

«C#/.NET не используется и не будет использоваться для больших веб-проектов так как: 1) Там плотно засела Java и никто не будет рисковать(консервативный рынок)... 2) Этот инструмент просто не годиться для этого так как значительно уступает Java технологиям.»

У Java есть вероятность медленной стагнации. При чем JVM живее живых, у так будет вечно (tm). Остается запасаться попкорном и смотреть когда другие JVM языки обрастут поддержкой инструментов на уровне Java/C#.

«Ruby on Rails — бесперспективен для разработчиков из-за отсутствие заказчиков\проектов на данном инструменте.»

Задачи свои выполняет. Если сдохнет скоро — не страшно. Большинство технологий таки меняются и эволюционируют. Или вы надеетесь стать Ruby-only экспертом и работать на нем до пенсии?

«Разработка низкоуровневых приложений (драйвера, прог-контролеры, средства защиты ПО\железа, работа которая очень близка к железу) никогда должно не оплачивалась и не оплачивается, считается менее перспективной так как это более необходимо для нужд самой компании либо данные продукты имеют очень ограниченный круг заказчиков или не пользуются спросом»

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

== где прячется перспектива?
Правильна відповідь:

“Гусары! Молчать!”

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

а) Вполне возможно мобильные приложения перейдут на веб. Перспектива в Web UI и JavaScript точно есть.
б) C#/.NET технология настоящего. А будущее зависит от перспектив самой Microsoft. Если на протяжении следующих 5 лет технологии будут стремительно меняться, и Microsoft начнет терять долю рынка, то и .NET станет менее популярным. Но сейчас это не грозит.
в) Сейчас заказчики/проекты на Ruby on Rails есть. Риск их уменьшения в будущем тоже есть.

г) Разработка низкоуровневых приложений никуда не денется. Здесь скорее дело в том, что мало кто берет такие проекты на аутсорсинг. Покупать железо и платить растаможку в Украине — долго, затратно и проблемно.

c) «Ruby on Rails — бесперспективен для разработчиков из-за отсутствие заказчиков\проектов на данном инструменте.»

Не верно

Также интересно как вы представляете IT-будущее ? Например мир без ПК одни планшеты исключительно с web-операционной системой или ещё что-то интересное ...

Весьма вероятно, что ближайшее будущее (лет через 10). Проблема пока — в каналах связи. Доступности точек подключения, делающих из планшетника — «терминал к майнфрейму»

Такое выгодно производителям ПО — контролировать использование ПО будет легче, с торрентов не зальешь, кряк не сыщешь :)

А вот новое в программировании появится с появлением «электронной пыли». SoC систем нано размеров. такие потребуют наверное возврат к ассемблеру, с одной стороны, а с другой — ощутимо поменяют подходы в разработке ПО управляющем миллионами таких устройств.

Ну а если синтетическая биология заменит SoC-кристаллы на SoC-бактерии, то это будет вообще — очень другое программирование :)

А сейчас — пишите на чем пишется :) «Не нужно пытаться изменить жизнь — она и так изменится» :)

d) «Разработка низкоуровневых приложений (драйвера, прог-контролеры, средства защиты ПО\железа, работа которая очень близка к железу) никогда должно не оплачивалась и не оплачивается, считается менее перспективной так как это более необходимо для нужд самой компании либо данные продукты имеют очень ограниченный круг заказчиков или не пользуются спросом»

Если честно, то бред полный. Работа оплачивалась и оплачивается всегда гораздо выше среднего. Такие вещи часто разрабатываются под какую-то цель и очень редко для массовой продажи, и продаются в основном в составе готовых продуктов. Да хоть взять медицинский сектор или автоматизацию промышленности — там перспектив хоть отбавляй, зарплаты очень высокие. Другое дело, что в подмосковье или даже в московье (сколково) работы нет.

Всомнилась старая цитата из башорга: bash.im/quote/38594

1) Web
2) Mobile
3) Desktop-приложения + GameDev

4) Системщина

Абсолютно верно.

а) Да, но не раньше, чем войдёт в силу HTML 5 и JavaScript 2.

b) Нет. Используется и будет использоваться. Сейчас 20% крупных сайтов разрабатывают на ASP.net, на JAVA — 4%. Хотя по той же статистике сайты на Джаве более высоконагруженные.

с) Нет. Пол-процента крупных сайтов, но заказы на него есть.

d) Нет. Работу найти сложнее, но она может очень хорошо оплачиваться. Кроме того — такие люди будут нужны всегда.

Компьютеры станут тонким клиентов и это решит проблему пиратства.

PS: Автор — троль.

PS: Автор — троль.

і незайманий

основной работой станет багфиксинг и новые фичи к старым продуктам

Так уже много таких проектов.

Как будто на помойке нашли, причём даже крупные компании не брезгуют.

Будущее за cross-web-mobile SaaS решениями, которые комбинируют в себе возможности существующих и... да собственно всё.

а где аргументы? ;)
В таком состоянии, в котором находится

cross-web-mobile
, ему еще далеко до «будущего».
А вообще от задач все зависит и бизнес-требований. Где-то и кросс-мобайл имеет преимущества. Я бы тут даже провел некую аналогию с Chrome OS))

Скажите это стартапам которые скупают топ компании (a la Google и подобные) за «большие миллионы», так как первые комбинируют фичи раскрученых ресурсов, используя сервер сайд, что работает с разными «клиентами»: как веб, так и мобильными.
А так же, большим клиентам и инвесторам, которые готовы в это вкладывать!

ну это не аргумент, вам термин venture finance о чем-то говорит? ))
но тенденция конечно интересная, не спорю.
А вообще a la Google много чего покупают, но статистику к-ва прибыльных стартапов никто не отменял.
а откуда такая инфа, можно линк? Что, так много уже купили?
Интересно оценить масштабность этих покупок

Имхо, Робототехника — программирование позитронного мозга. А вебкеоммерц пофиг на чем писать...

d) «Разработка низкоуровневых приложений (драйвера, прог-контролеры, средства защиты ПО\железа, работа которая очень близка к железу) никогда должно не оплачивалась и не оплачивается, считается менее перспективной так как это более необходимо для нужд самой компании либо данные продукты имеют очень ограниченный круг заказчиков или не пользуются спросом»

В корне неверно, смотри телекоммуникационное оборудование...

ОЙ люди, ану скажите ---Робототехника--- (разработка автоматизированных технических систем) в нашей стране это вообще безперспективняк ? А то такая весёлая тема и интересная !!!

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

Роботы — очень перспективная тема, и всякие самолетающие, самоездящие и самоплавающие апараты, и экзоскелеты, и боевые роботы, и промышленные конвееры заменяющие миллионы китайцев — кто выиграет в этой гонке вполне сможет рулить миром через лет 10-20. Но удел украинских программистов скорее всего — формошлеперство, и о роботах им только остается мечтать, как Мухе.

Но удел украинских программистов скорее всего — формошлеперство, и о роботах им только остается мечтать, как Мухе.

+100500

Но удел украинских программистов скорее всего — формошлеперство

это все же — от программиста зависит, каков его удел :)

конечно, живя в Украине — сложней быть востребованным в том что будет лет через 10-20. Мозг должен быть творческий, познающий, активный, тогда программист сможет и в новом себя найти.

тебе из страны спетлять проблема???

Формируешь идею робота
Учишь все что нужно для разработки
Разрабатываешь
Делаешь свою продуктовую компанию (инвестиции можно взять у разных фондов, типа
GrishinRobotics)
...
Profit!

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

Однако, через 20 лет форумы будут забиты стенаниями о 23х летних робототехниках, когда и это уйдет в аутсорс. Тогда перспективной темой станут биороботы, так что лучше сразу учи биологию и принципы кодирования стволовых клеток в единую кибернетическую систему.

Лучше так:
— учишь все что надо что-бы создать гугл
— делаешь гугл
— вытесняешь старый гугл с рынка

— стрижешь купоны

Где глоток свежей идеи? Гугель неинтересно, а как же романтика?

90% людей хотят опустить пункты «учишь и делаешь» и перейти сразу к «стрижешь купоны» ))

Извини, я пропустил:

0. придумываешь идею поисковика который убьет гугль. Я кстати придумал уже.

осталось начать «стричь купоны», вон Альберт уйбийцу фейсбука на MVC54 клепает, или какая там уже версия...

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

«Надо больше золота», фермы строй для рабочих...))

Это к бодишопам с их паотагонно гужевой системой, я предпочитаю прокачивать архимагов.

це дивлячись на кого орієнтуватися, на тренди за бугром, чи проекти які віддаються в аутсорсне стойло

Да ладно, всегда ж можно организоваться самому. При РИ было куча инжинеров, которые продвигали свои идеи. Поэтому YC рекомендует искать партнера нетехнаря, ты занимаешся разработкой, а кто-то деньги выбивает в фондах.

А ориентироваться на «аутсорсное стойло» это неправильный «mindset».

Все будет ЗБС!

Подписаться на комментарии