Задача как с точки А попасть в точку B или как слезть c .NET
-
- Уже с Приветом
- Posts: 802
- Joined: 24 Jan 2007 07:32
- Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Сделал исследование по Node.js.
Судя по всему в вакансиях сильная завязка на разработку серверов для веба, в меньшей степени десктопные приложения.
Да безусловно модная интересная платформа, с большими возможностями по расширению за счет библиотек написанных на других языках.
Наверное из некоторых минусов не очень кросс-платформенная (как то криво поддерживается Windows).
Я точки зрения удобства - безусловно оно есть, даже по сравнению с C#.
Разные IDE пытаются внедрить ибо это модно, есть даже плагин для Visual Studio 2013.
Судя по всему в вакансиях сильная завязка на разработку серверов для веба, в меньшей степени десктопные приложения.
Да безусловно модная интересная платформа, с большими возможностями по расширению за счет библиотек написанных на других языках.
Наверное из некоторых минусов не очень кросс-платформенная (как то криво поддерживается Windows).
Я точки зрения удобства - безусловно оно есть, даже по сравнению с C#.
Разные IDE пытаются внедрить ибо это модно, есть даже плагин для Visual Studio 2013.
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Вам то что? Важен напор, который от индустрии, то ж работы. Им надо придумывть всё больше интересных штук для этой платформы. А вы хоть с ай- хоть с вин- фоном будьте.Pantigalt wrote:Я сам на Android ничего не писал поэтому советовался c теми кто хоть немного пробовал.
Из того что я услышал сформировалось такое мнение что качество программ на андроиде оставляет желать лучшего и это сильно влияет на само отношение к платформе. Так как это разработка под мобильные устройства то ничего сложного и интересного не попишешь, могу ошибаться.
Некоторые монстры софта недавно заметили долю Андроида. Ждите Офис, одним словом, на Андроид.Если это не так буду рад услышать мнения по поводу разработки под Android.
Ну, нельзя совсем без Жабы, чтобы с ним работать. Активити надо научиться рисовать, а то, чтобы тестировать свой код, ну и ваще. Если C++, это всё кастомные устройства и хитрые штуки, которые на сегодняшний день платформа Андроид сама не делает. Там, где нет готовых решений. Там, где интересно.Из технологий как я понимаю тут вариантов 2 - Java и С++.
Хотя вру, в чисто силиконовой компании просто всё эмулировали под Windows, частично под Linux, теоретически можно было без Жабы, но то мешало работе. Там в команде ответственный чувак прикручивал уже код к девайсу. Но то официально. Было проще самому в андроидном билде (Изучите Android Open Source Project) всё сбилдить, включая host process, где C/C++ тот самый, наш, местного производства, и запустить. Девайсы выдавали как только спросишь, rooted.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Задача как с точки А попасть в точку B или как слезть c
Качество C++ кода от возраста сильно зависит, это факт. По моему опыту - чем люди старше, тем всё-таки код лучше. Точнее, помогает не сколько даже возраст, сколько наличие семьи / детей / желание поскорее сделать задачу, именно то что нужно (но не больше!), попроще, и подубовей что-ли. YAGNI и крайняя скупость в средствах - это наше всё в C++.Pantigalt wrote:Анальность от возраста тоже зависит.
В моей текущей компании в моей группе (С++ разработок) народ не сильно молодой и не старый, в среднем 32 года. Атмосфера вполне демократичная.
Вот это неприятие чужого мнения свойственно людям старой закалки, я таких встречал.
А вот если много молодых да энергичных, вот тогда возникают синглтоны / темплейты / мета-чёрте-что и героическое решение проблем, которых нет.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Степанов был слишком молод тогда. А то бы не брался за чортову STL. :-pM. Ridcully wrote: А вот если много молодых да энергичных, вот тогда возникают темплейты
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Задача как с точки А попасть в точку B или как слезть c
Да ладно, STL канает.
Я имел в виду безумие вроде MPL, Spirit и прочие извращения а-ля Александреску.
Я имел в виду безумие вроде MPL, Spirit и прочие извращения а-ля Александреску.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Александреску и вовсе практик, он FB компилятор PHP с коммандой, вроде, делает.
Просто человек докапывается до сути (как там у вас... анальный), и потому может учить других сложным вещам, если те хотят внимать.
Просто человек докапывается до сути (как там у вас... анальный), и потому может учить других сложным вещам, если те хотят внимать.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 802
- Joined: 24 Jan 2007 07:32
- Location: Сергели->Новосибирск->SFBA->Новосибирск->Москва->NY->SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Мне у него в книге понравилась глава про аллокаторы, просто и понятно расписано.Medium-rare wrote:Александреску и вовсе практик, он FB компилятор PHP с коммандой, вроде, делает.
Просто человек докапывается до сути (как там у вас... анальный), и потому может учить других сложным вещам, если те хотят внимать.
А про хвостовые рекурсии с шаблонами так вообще похвально.
В книгах кроме рецептов должны быть новые идеи которые позволили бы с разных сторон посмотреть на одну и ту же проблему.
Спи быстрее, твоя подушка нужна другому. Copyright Зощенко
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Задача как с точки А попасть в точку B или как слезть c
Да кто бы сомневался...Pantigalt wrote:В книгах кроме рецептов должны быть новые идеи которые позволили бы с разных сторон посмотреть на одну и ту же проблему.
Просто эта идея - template metaprogramming - is pushing templates beyond their natural limits.
Если что-то можно делать, это ещё не значит, что это нужно делать.
Был у меня опыт 2х проектов, где требовался парсинг, причём с небольшим нитервалом. В первый раз попробовал использовать Spirit. Оно конечно в конце-концов заработало, но тем не менее во второй раз решил не выёживаться и сделать по-простому - с дополнительно стадией парсинга / кодогенерации. Так вот, во второй раз было в разы проще и приятней.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Задача как с точки А попасть в точку B или как слезть c
Одна из лучших книг по программированию на плюсах.Pantigalt wrote:Мне у него в книге понравилась глава про аллокаторы, просто и понятно расписано.Medium-rare wrote:Александреску и вовсе практик, он FB компилятор PHP с коммандой, вроде, делает.
Просто человек докапывается до сути (как там у вас... анальный), и потому может учить других сложным вещам, если те хотят внимать.
А про хвостовые рекурсии с шаблонами так вообще похвально.
В книгах кроме рецептов должны быть новые идеи которые позволили бы с разных сторон посмотреть на одну и ту же проблему.
И по доходчивости и по глубине проработки материала.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Задача как с точки А попасть в точку B или как слезть c
Когда нужно экономить память то без метапрограммирования бывает и не обойтись.M. Ridcully wrote:Да кто бы сомневался...Pantigalt wrote:В книгах кроме рецептов должны быть новые идеи которые позволили бы с разных сторон посмотреть на одну и ту же проблему.
Просто эта идея - template metaprogramming - is pushing templates beyond their natural limits.
Если что-то можно делать, это ещё не значит, что это нужно делать.
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Задача как с точки А попасть в точку B или как слезть c
Чтобы вот так прям "не обойтись" - такого просто не может быть.Мальчик-Одуванчик wrote: Когда нужно экономить память то без метапрограммирования бывает и не обойтись.
Любое метапрограммирование в-принципе может быть заменено дополнительной стадией явного парсинга / кодогенерации. И зачастую явная стадия будет проще и естественнее.
Как ни крути, но метапрограммирование - это из серии "голь на выдумки хитра". Взяли некую некую технологию (шаблоны), изначально для этого не преднезначенную, и научились использовать в новом качестве. В этом ничего плохого нет, разумеется, скорее наоборот. Но то, что происходит "натягивание совы на глобус" - это факт.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Задача как с точки А попасть в точку B или как слезть c
За счет замены динамического полиморфизма статическим - реальная экономия памяти.M. Ridcully wrote:Чтобы вот так прям "не обойтись" - такого просто не может быть.Мальчик-Одуванчик wrote: Когда нужно экономить память то без метапрограммирования бывает и не обойтись.
Любое метапрограммирование в-принципе может быть заменено дополнительной стадией явного парсинга / кодогенерации. И зачастую явная стадия будет проще и естественнее.
Как ни крути, но метапрограммирование - это из серии "голь на выдумки хитра". Взяли некую некую технологию (шаблоны), изначально для этого не преднезначенную, и научились использовать в новом качестве. В этом ничего плохого нет, разумеется, скорее наоборот. Но то, что происходит "натягивание совы на глобус" - это факт.
И потом, целочисленные значения шаблонных параметров не занимают оперативной памяти.
Ну и потом, метапрограммирование по сути и есть встроенный в язык парсер с кодогенератором. Плюс возможность создания своего доменного языка на его основе.
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Задача как с точки А попасть в точку B или как слезть c
Я не совсем понял, о чём вы. Возможно, мы под метапрограммированием немного разные вещи понимаем.
А имел в виду compile-time computations, DSLs, etc.
Полезность шаблонов вообще я нисколько не отрицаю, конечно.
А имел в виду compile-time computations, DSLs, etc.
Полезность шаблонов вообще я нисколько не отрицаю, конечно.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 1008
- Joined: 24 Mar 2010 21:14
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
+1. Мальчик-Одуванчик неправ по форме.M. Ridcully wrote:Чтобы вот так прям "не обойтись" - такого просто не может быть.Мальчик-Одуванчик wrote: Когда нужно экономить память то без метапрограммирования бывает и не обойтись.
Любое метапрограммирование в-принципе может быть заменено дополнительной стадией явного парсинга / кодогенерации. И зачастую явная стадия будет проще и естественнее.
Но по сути... Имхо, количество нагенеренного (или написанного руками) кода, который придется поддерживать - может свести всю естественность к такому гемору, что недостатки шаблонов померкнут.
-
- Posts: 1
- Joined: 25 Oct 2014 04:49
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Я бы не сбрасывал со счетов C#. Сам сейчас в бэй эрии, работаю по специальности и приходит много приглашений на собеседования по дотнету. На дайсе .NET вакансий действительно меньше чем по джаве, но и дотнетных девелоперов тоже не найти, поэтому спрос есть. 100 тысяч платить будут, врядли будут платить меньше этого.
Но асп.нет действительно не в фаворе, нужно знать ASP.NET MVC и плюсом кучу джаваскриптовых фреймворков типа ангулярки или бэкбона. Тогда работа сама найдется.
Но асп.нет действительно не в фаворе, нужно знать ASP.NET MVC и плюсом кучу джаваскриптовых фреймворков типа ангулярки или бэкбона. Тогда работа сама найдется.
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Задача как с точки А попасть в точку B или как слезть c
В качестве примера могу привести QT, своей надстройкой расширяющий плюсы, особенно в плане асинхронного взаимодействия.
Собственно, небольшая, но прекрасно продуманная метавставка взаимодействия обьектов посредством посылки сигналов на слоты, сделала этот продукт весьма и весьма востребованным.
Другой пример - огрубленные вычисления по таблично заданным функциям. Сама таблица расчитывается во время компиляции в зависимости от типа выхлопа(тип микроконтроллера, такт частота, ..).
А если заглянуть в потроха ATL, то легко обнаруживается "чудесатый самотык" Коплина (CRTP) как основа ("и источник, и составная часть") библиотеки.
Собственно, небольшая, но прекрасно продуманная метавставка взаимодействия обьектов посредством посылки сигналов на слоты, сделала этот продукт весьма и весьма востребованным.
Другой пример - огрубленные вычисления по таблично заданным функциям. Сама таблица расчитывается во время компиляции в зависимости от типа выхлопа(тип микроконтроллера, такт частота, ..).
А если заглянуть в потроха ATL, то легко обнаруживается "чудесатый самотык" Коплина (CRTP) как основа ("и источник, и составная часть") библиотеки.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Есть также мнение, что концепция signal/slot и была ранее известна, и внедрена не только в Qt. Но Qt имплементация хорошая, и кроссплатформенная. И если Гуглом сейчас искать, то почти все линке про неё, хотя.Мальчик-Одуванчик wrote:В качестве примера могу привести QT, своей надстройкой расширяющий плюсы, особенно в плане асинхронного взаимодействия.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15475
- Joined: 27 Sep 2007 22:53
Re: Задача как с точки А попасть в точку B или как слезть c
QT привел в качестве метаязыка над плюсами, где, к примеру, конструкции работы с сигналами статически компилируются в С++ код, освобождаяMedium-rare wrote:Есть также мнение, что концепция signal/slot и была ранее известна, и внедрена не только в Qt. Но Qt имплементация хорошая, и кроссплатформенная. И если Гуглом сейчас искать, то почти все линке про неё, хотя.Мальчик-Одуванчик wrote:В качестве примера могу привести QT, своей надстройкой расширяющий плюсы, особенно в плане асинхронного взаимодействия.
программиста от этой рутины. Описанные метаязыком свойства класса, так же привязываются к его соответствующим функциям-членам.
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Задача как с точки А попасть в точку B или как слезть c
А зачем это нагенерённый-то код поддерживать?Berlaga wrote:Имхо, количество нагенеренного (или написанного руками) кода, который придется поддерживать - может свести всю естественность к такому гемору, что недостатки шаблонов померкнут.
Паресер и генератор - да, придётся поддерживать. Но ведь и основанный на шаблонном метапрограммировании код поддерживать надо, разве нет?
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 9194
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Задача как с точки А попасть в точку B или как слезть c
Мы его не чек-иним. Это такие же промежуточные файлы в билде, как объектные файлы.M. Ridcully wrote: А зачем это нагенерённый-то код поддерживать?
moc_*.cpp, *.obj - kinds of intermediate build files, usually generated in some build directory, not with the source code.
moc_real.cpp:
Code: Select all
/****************************************************************************
** Meta object code from reading C++ file 'real.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.3.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
... and even then it's rare that you'll be going there...