Различия диалектов Си и С-подобных языков - C++, C# и т.д. #762108


#0 by Vladal
Ребята. Ребенку надо объяснить, в чем основные различия между языками семейства Си. Какой из них где используется и какие у них перспективы - какой и где использщуется, например, Objective C - на платформе эпла, у сред для программирования микроконтроллеров свой диалект С или С-подобные языки и т.д. Да и самому стало интересно, что ж это дети сейчас учат то, что папа сам не знает.
#0 by Vladal
Ребята. Ребенку надо объяснить, в чем основные различия между языками семейства Си. Какой из них где используется и какие у них перспективы - какой и где использщуется, например, Objective C - на платформе эпла, у сред для программирования микроконтроллеров свой диалект С или С-подобные языки и т.д. Да и самому стало интересно, что ж это дети сейчас учат то, что папа сам не знает.
#1 by Волшебник
С - это база С++ - объекты С# - майкрософтовский урод для дотнета
#2 by strange2007
Прог на шарпе сказал, что C# это визуальные объекты. А так да, с согласен, последний пункт уродство ещё то
#3 by trdm
>> Ребенку надо объяснить, в чем основные различия между языками семейства Си. нефига себе у ребенка интересы :)
#4 by vcv
С - это ассемблер высокого уровня своего времени, удачно сочетавший быстродействие с относительной лёгкостью разработки. Сейчас идеологически и архитектурно кошмарно устарел, но сделать с этим ничего нельзя. С++ - попытка прикрутить объекты к Си, признанная неудачной самим отцом основателем. С# - дальнейшее развитие монстра Франкенштейна в сторону, нужную одному монополисту. Получается киборг, который вроде и сильный, вроде и быстрый, но всё равно тупая бездушная железяка.
#5 by Encode
Си - база. Не используется Objective-C - Apple, через пару лет практически полностью уступит место Swift C++ - Лучший язык для программиста, используется везде и если освоишь его, то остальные на раз плюнуть. Перспективы отличные т.к. заменить его нечем C# - Microsoft. Обычно используется для Enterprise, иногда Web, Mobile. в некоторых кросс-платформенных штуках (типа Unity). Перспективы есть Так что пусть начинает с Си, а потом на С++. И гони поганой метлой от 1С))
#6 by Vladal
, Спасибо. Дык! Человек Юнити осваивает, слепил самолет, который пока по аэродрому рулит и какую-то лесенку-лабиринт. Пусть интересуется, я только рад. , Спасибо. На днях подошел и говорит "Папа, давай изучать Ардуино". Ну прям не ребенок, а золото!
#7 by Vladal
Про поганую метлу. Да и так два кризиса пережили, второй дожевываем на перегретых зарплатах. На прошлой неделе закрывал больничный, несколько людей говорили "а правда, что у вас зарпалата 50 тыс грн? сосед сына медсестры получает 50 тыс" (это 2000 баксов). Вот и олбъясни завистливым бюджетникам, что я не получаю 2 тыс баксов, а только 500 - средний для Харькова потолок (хотя может я и не искал большего).
#8 by Asmody
для ардуины есть вариант Скретча. Для обучения самое то.
#9 by pessok
сколько малому годков, если не секрет?
#10 by mehfk
>> Си - база. Не используется Бу-га-га.
#11 by Vladal
Да. визуальную среду поставил, блоками показал основные примеры - цикл, ветвление, показал "во взрослой" системе считыватель RFID номера брелока и карточек, карточку метро считали, рассказал, что если прилепить сюда электромагнитный замок, то пономеру одной карточки замок будет открываться, а по второй "чужой" - нет. Попробовали вывести данные термодатчика и влажности на текстовый экранчик, "поморгали" светодиодом. Показал, как управляю светодиодным кубом и основной принцип его работы. Куб пока маленький - 4х4х4, но уже завершил большой 8х8х8, спаял 7 слоев, осталось спаять последний и прилепить электронику - сдвиговые регистры, развязку питания и контроллер.
#12 by Vladal
*уже почти завершил большой
#13 by Рэйв
+1
#14 by Mikeware
а не перерос ли он уже "визуальную среду"?
#15 by Serginio1
Объясни твое понимание уродливости. По мне так первый это причесанный ассемблер, второй это сказать, что структуры это объекты, ибо то что не на стеке это уродство. Плюс шаблоны которые раскручиваются во время компиляции, и сам процесс может занимать сутками итд.   За манагед средами так или иначе будущее. Все упирается в эффективность JIT компилятора. За С++ это низкоуровневое программирование в котором до сих пор господствует С.
#16 by Vladal
12 лет парню. Для наглядного понимания самое то. Взрослые яденьки и тётеньки тоже любят поковыряться в визуальной среде и порешать головоломки типа LightBot
#17 by Serginio1
15+ Так для справки программисты С++ активно используют Питон, что является нонсенсом для C# программистов.
#18 by Serginio1
У манагед сред есть огромное премущество это рефлексия, динамческая компиляция, Linq итд
#19 by zak555
почему си++ не удачный проект ?
#20 by Asmody
Будущего там ровно на столько, пока индусам из Микрософта не надоест тащить эту ботву и они не изобретут(купят) другую ботву. Придет новая команда и обнаружит в технологии .NET . А дальше маркетинг объяснит, почему все так долго ошиблись.
#21 by Рэйв
Он просто неудачник. И ему хочеся все свести до своего неудачного уровня. А иначе у него будет низкая самооценка:-)
#22 by Vladal
- это "писал другой программист"?
#23 by Волшебник
Одни делегаты чего стоят...
#24 by Рэйв
Это ты зря. Делегат - это ссылка на функцию. Очень полезначя вещь. можешь менять функцию как хочешь, а ссылка-всегда ссылка.
#25 by Asmody
Ага
#26 by Serginio1
Делегатами сейчас никто не пользуется. Только лямбдами. Если ты говоришь о конструкции MulticastDelegate, то уто как премущества так и недостаток. Чего кстати очень не хватает в 1С. Кстати в основе событий лежат делегаты.
#27 by Mikeware
все-таки (имхо, конечно, но все-таки) старше 12-13 лет визуальные среды уже вредно. они слишком "игровые". Хотя, если он остановится на желании "поиграться" - то для понимания хватит и визуальных. а пойдет дальше - сам их выкинет...
#28 by ДенисЧ
Давайте выкинем визуальную среду 1с! И пусть они нам дадут commandline-компилятор!
#29 by Mikeware
не для всего визуальность нужна. попробуй слепи на  визуальщине глобальник упп...
#30 by Serginio1
Угу манагед среды это не только .Net, но и JAVA, JavaScript и еще куча сред.
#31 by ДенисЧ
Мне столько не выпить... Ты ещё предложи УТ11 написать...
#32 by strange2007
Автор, только не забывай про яму, в котроую попадают дети. Появился интерес у ребёнка, это круто. Но ему нужен очень быстрый результат, а иначе у него может выработаться имунитет против любого программирования. Мой пацан тоже сначала научи тому да сему. С# поглядел, пурика глянул и везде один вопрос - и как тут за вечер игру сделать? В общем подсадил его на обычные пакетные файлы и ребёнок уже год на них что-то пишет. Секрет в том, что CMD-шник не надо неделю писать, за несколько минут получается что-то полезное (или бесполезное). Вот подрастёт или созреет до программирования, тогда и будем думать как развиваться дальше.
#33 by Asmody
JVM - да, но JS ты зря сюда приплел.
#34 by quest
Не насилуй ребенка ерундой. Пусть сперва пройдет sicp - так лучше будет понимание что делает и как. Или land of lisp, land of racket почитайте. Там тоже игры делают. одна глава, одна игра. я был бы рад такому повороту дел. По крайней мере макросы можно было бы прикрутить самому.
#35 by Mikeware
а ты "покури" :-)) Это не яма, а особенности детского восприятия. которое, кстати, бывает очень индивидуально: одному без моментальной отдачи становится неинтересно (для таких - визуальные среды, лего майндшторм и т.п.), для других быстро теряется интерес, если "получается за два хода"
#36 by Asmody
LISP. ребенку. в 21м веке. да вы гадкий извращенец, батенька
#37 by Mikeware
дейкстра же говорил вроде, что начинать учить программированию нажо с функциональщины, и императивное любой дурак освоит :-)
#38 by quest
Извращение это С++ ребенку предлагать (питон и прочие руби тоже сюда же отностятся) Нормальный язык должен четко различать время компиляции и выполнения. Ну и так же давать нормальную систему макросов. Что бы не надо было извращаться с построением dsl.
#39 by strange2007
Конечно индивидуальный характер, но есть и общий момент: чем младше человек, тем быстрее нужен результат. Грубо говоря 2-х летний человечек воспринимает кубики, т.к. из них быстро можно что-то сложить. Да и в 12 лет почти никто из детей не сможет написать складскую прогу. В общем аккуратней надо с этим быть. Это на моделировании проблему поднимали. Мол, детёныш лет 12-ти, хватается за изготовление сложного планера самолёта. Всё у него получается идеально и очень быстро. Но вдруг он через месяц всё бросает и вообще уходит из кружка. Причина тому то, что описал выше. Руководитель теперь всем подрят не даёт сложные, хоть и интересные, задачи
#40 by quest
Он не так уж был не прав.
#41 by ДенисЧ
А можно ссылочку на цитату Дийкстры, который всегда был апологетом процедурщины?
#42 by quest
Расскаялся в конце жизни.
#43 by Asmody
Дейкстре бы самому на ночь "Learn You a Haskell for Great Good!" вместо страшной сказки почитать…
#44 by quest
нормальная книга. Плюс (что ни говори) сообщество у хаскеля намного дружелюбнее чем С++ или даже 1С
#45 by Garykom
сообщество у хаскеля? это примерно как полтора землекопа?
#46 by strange2007
Кстати, простенькие игрушки прикольно делать на Pure Basic-е. Сравнительно быстро и функционально получается, т.к. там много готовых огромных кусков присутствует.
#47 by Mikeware
#48 by Mikeware
злой ты. купи себе велосипед.
#49 by Asmody
Сейчас брат придет, я у него спрошу на чем у них там в мейлру модно игрушки писать.
#50 by strange2007
Это уже взрослые игры и под браузер. Я то имел в виду простенькие стрелялки-бегалки. 2-х мерные, 3-х мерные. Там просто крайне просто всё делается. Пару команд и звук прикручен, с десяток строк и 2-х мерная графика уже есть. Просто всё очень доступно как раз начинающим программистам.
#51 by Garykom
на java не намного сложнее зато сразу для смартфонов
#52 by strange2007
Начинающим нужен быстрый результат, чтобы получить удовлетворение и стимул двигаться дальше. Например, на пурике кода в пару экранов и получаем целый 3-х мерный мир с домом, растениями, где можно бродить. Дети офигивают от такой простоты
#53 by Garykom
ну их дофига, для обучения с полного 0 идеален от него легко к С, Java и прочим подобным типа Arduino перейти
#54 by strange2007
Да я ж не спорю)))) Просто поделился личным опытом. К тому же пурик практически идеален для ассемблеристов, т.к. просто предоставляет ассемблерный код, собранный в кучки
#55 by Serginio1
Манагед среды это сборщик мусора, а она в JS есть
#56 by Garykom
C(С++) и Java в будущем будут намного полезнее
#57 by Vladal
Вполне себе... Визуально блок функции расчета остатков из УправлениОстатками содержит процедуру обработки табличной части из Общего модуля. Вот тебе один блочок, допустим, красного цвета, содержит в себе блочок серого цвета (модуль ОбщегоНазначения) и т.д. Чемне визуализация текста модуля. Кстати, идея для извращения - написатьнекий такой визуализатор. Да, я тоже столкнулся с ожиданием быстрого результата.
#58 by Vladal
А заодно спроси, по каким шаблонами они их делают - большинство игрушек однояйцевые близнецы в различных шкурках. А вот запилить паровозики типа досовых ShortLine или виндовых AIT Trains не хотят.
#59 by quest
чем тебе такая визуализация поможет?
#60 by Mikeware
а содержимое модулей-то само "накрасится" у красных модулей, и "насерится" у серых?
#61 by Vladal
Колобот лет 5-6 назад я положил в заметки на будущее и сам забыл про него. Тоже взял на заметку. Есть же парсер запросов который выводит подзапросы в виде блоков и рисует между ними соединения. Легко посмотреть структуру большого запроса. В парсере - да как угодно.
#62 by Vladal
Можно вообще блоками-кирпичиками нарисовать связь - эта процедура использует блоки таких-то модулей, а эта не использует внешние связи.
#63 by Mikeware
ну так парсер разбирает уже написанное. а вот рисовать сложные запросы конструктором - медленнее.
#64 by Mikeware
а блоки-кирпичики тебе пушкин писать будет? или айвазовский рисовать?
#65 by Serginio1
Для мобильников сильно урезанный Java идет, в отличите от .Net. Раньше Compact FrameWork был очень далек от взрослого, что приводило к огромным неудобствам. Сейчас благодаря универсальной платформе Windows и единому ядру Windows одно и то же приложение можно запускать на любом устройстве Windows 10 — от телефонов и до настольных компьютеров.Используйте Visual Studio 2015 с универсальными средствами разработки приложений Windows для создания этих приложений.
#66 by quest
ну только не в контексте конфигуратора такое возможно. Плюс вся эта идея - типа рисования кода - чушь.
#67 by Vladal
А кто же еще? О_о Это же идея, но меня за неё уже расстреляли.
#68 by vcv
"почему си++ не удачный проект ?" Читал когда-то. Мнение Страуструпа о том, что фактическая реализация ООП в С++ получилась далека от того, о чем он мечтал и не очень-то ему нравится.
#69 by strange2007
Вот приколюха, сделанная одним детёнышем за пару часов на пурике. Суммарно там меньше 100 строк (не считал сколько точно, но с комментариями и пробелами 138 строк получилось)
#70 by Vladal
Гляну дома, на работе нихт.
#71 by Mikeware
Просто в свое время эта идея считалась попыткой решить проблемы производительности программистов. Но получилось не так уж и хорошо. Есть некоторые попытки использовать визуальщину в программировании МК, но результаты более чем смешные...
#72 by strange2007
+ Только предупреждение: антивирусы иногда на такие сборки матерятся изо всех сил. Любые ассемблерные проги, ни один антивирус не любит(((( Но уверяю, тамошний код чист как слеза, без всяких намёков на вирусность.
#73 by orefkov
То, что получилось не совсем то, что Страуструп хотел - еще не значит, что "получилось неудачно". Старенький С++ конечно, не всегда был айс, а вот нынешнего, С++14 розлива - очень даже вкусно уже работать. Теперь уже даже STL вполне пристойно пользоваться стало, и в нынешних своих проектах только ею и стараюсь пользоваться. Хотя по string - не совсем еще доволен, и пользуюсь своими велосипедами.
#74 by ДенисЧ
Помнится мне... Когда только начинал изучать stdlib (97-98) год... Сделал программку на своих классах - 80КБ. подключил stdlib (или boost, не помню, что тогда в VC6 шло по дефолту) - файлик слегка вырос. До 1.6 МБ... Я подумал и решил, что мне такое счастье нафиг не надо...
#75 by Mikeware
так-то оно так. только писать содержимое стдлиб самому - дольше... вся жизнь борьба-бобра-с-ослом
#76 by Злопчинский
По мне - чем бы ребенок не занимался - жто полюбасику польза Мозги у молодых незамктненные, гибкие - схватывают все быстро Может и не пойдет кудато внлубь но расширение кругозора и смежные области будут задействованы - это я считаю хорошо. По всякому это лучше чем по подъездам шататься пивняк жрать и клей нюхать. А при правильном подходе со стороны родителей-взрослых - жфект несомненно полезный будет. Киндер у мну лет с 14 уже сам себе карманные деньги зараьатывал, у жены на работе до сих пор простенькая складская вебпрога крутится - работают до сих пор на ней. Одно не сильно зорошо. Есть у меня подозрения что технари не продвигаются по жизни стол. Удачно как гуманитраии но злесь могу ошибаться
#77 by Музон Хиггса
К С-подобным, можно отнести только C, C++ и Objective C. Всё остальное из другой оперы.
#78 by Это_mike
"большие деньги можно заработать только чужими руками". Технари больше зарабатывают своими, а отдельные гуманитарии - чужими.
#79 by Sserj
Вот не надо только словоблудить :) Сравнивать javaME с требованиями к устройству в буквально несколько сотен килобайт памяти и .net работающую прилично только на гигабайтах памяти. Что уж тогда с net compact не сравниваешь.
#80 by Serginio1
Я говорю о том, что есть. А Смотри По твоему в WinPhone 10 может работать на 0.5 гигабайтах памяти? Windows Store и Windows Phone Обе платформы Windows Store 8.1 и Windows Phone 8.1 – это достаточно небольшие подмножества .NET Framework. Однако, они также являются подмножеством .NET Core. Это позволяет нам в дальнейшем использовать .NET Core как основу для реализации обеих этих платформ. Так что, если вы разрабатываете для этих платформ, вы можете напрямую использовать все инновации не дожидаясь обновления фреймворка. Это также означает, что количество BCL API, доступных для обеих платформ, будет идентично тому, что вы сегодня можете видеть в ASP.NET 5. К примеру, это включает необобщенные коллекции. Это позволит вам намного проще переносить существующий код, работающий поверх .NET Framework на приложения для сенсорных устройств. Другой очевидный эффект заключается BCL API в Windows Store и Windows Phone полностью совместимы и будут оставаться такими, так как обе платформы .NET основываются на .NET Core. Общий код для .NET Core и других .NET платформ Так как .NET Core формирует основу для всех будущих .NET-платформ, возможность использования общего кода между платформами, базирующимися на .NET, уже заложена в них. Тем не менее остается вопрос, как использование общего кода работает с платформами, которые не базируются на .NET Core, например, с .NET Framework. Ответ такой: также как и сегодня, вы можете продолжить использовать переносимы библиотеки классов и общие проекты: •Переносимые библиотеки классов прекрасно подходят, когда ваш общий код не завязан на платформу, а также для повторного использования библиотек, в которых платформо-специфичный код декомпозирован. •Общие проекты хорошо использовать, когда ваш общий код содержит немного платформо-специфичного кода, так как вы можете адаптировать его, используя #if. Более детально выбор между двумя подходами описан в статье «Sharing code across platforms». В дальнейшем переносимые библиотеки классов также будут поддерживать нацеливание на платформы, основанные на .NET Core. Единственная разница заключается в том, что если вы нацелены только на платформы с .NET Core, то вы не ограничены фиксированным набором API. Вместо это, вы будете завязаны на NuGet-пакеты, которые вы сможете обновлять по желанию. Если вы добавите хотя бы одну платформу, которая не базируется на .NET Core, вы будете ограничены списком API, которые являются общими с ней. В этом режиме вы по-прежнему сможете обновлять NuGet-пакеты, но при этом вы можете получить требование выбрать более высокую версию платформы или полностью потерять их поддержку. Такой подход позволяет сосуществовать двум мирам, получая при этом преимущества, которые несет .NET Core. Итоги Платформа .NET Core – это новый .NET-стек, оптимизированный для разработки с открытым исходным кодом и гибкой доставки через NuGet. Мы работаем с сообществом Mono, чтобы он прекрасно работал на Windows, Linux и Mac, причем Microsoft будет поддерживать его на всех трех платформах.
#81 by Serginio1
Вот здесь я сделал приложение на Xamarin Forms под андроид используя взрослые библиотеки. Правда возникла проблема с делегатами больше 5 аргументов.
#82 by spock
Так удобно же на питоне всякое делать.
#83 by Vladal
У меня знакомый программист везде суёт Руби - он ему привычнее.
#84 by spock
Покажи ребенку питон, простой и со всеми новомодными фишками из функциональщины. В качестве IDE PyCharm.
#85 by Garykom
на прошлой работе "программисты" везде сували vba в офисе... потому что больше нифуя не знали
#86 by Vladal
и я о том же
#87 by Музон Хиггса
vba и питон/руби - это "немножко" разные уровни. Впрочем, валящим C и C# c Явой в одну кучу пофиг.
#88 by Serginio1
Ну а начем внутри офиса писать макросы? Мне самому приходилось использовать VBA. Для каждой задачи свой инструмент
#89 by Хранимая Процедура
- а каким боком C# является языком из семейства Си?
#90 by EvgeniuXP
С# - урод, 1С -форева :)))
#91 by strange2007
Ща налетят)))))
#92 by Serginio1
Серьезно?   EvgeniuXP красавчик! Только очень красивый человек может судить об уродстве.
#93 by EvgeniuXP
не, я как раз наоборот имею в виду: благодаря 1С можно забыть всю алгебру, а высшую мат. тем более.
#94 by Serginio1
А иногда на досуге тренирую мозги высшей математикой. Зачем её забывать? Она расширяет кругозор.
#95 by Злопчинский
главное чтобы широкий кругозор не превратился в сферу в вакууме...
#96 by Serginio1
А какая разница. Главное, что бы это приносило удовольствие. Кто то решает кроссворды, а кто то диффуры.
#97 by Serginio1
Кроме того это тренирует мозги, организуются новые нейронные связи, позволяя более креативно решать задачи, используя более подходящие алгоритмы. Мозг как и мышцы нужно постоянно тренировать, при этом ставя новые и сложные задачи. Которые не просты для понимания.
#98 by Записьдампа
Не твоя - вот ты и бесишься! =)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С