Матрёшка Си на АШ

Аватар пользователя СПбДмитрий

Периодическая система для программистов.

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

Чужой язык терминов (!) навязывает нам чужое понимание предметной области. Русский язык позволяет построить свое, ясное и точное понимание - в том числе, англизированного языка Си. (Речь пойдёт о терминах (!), не о переводе Си на русский.) 

Книга "Матрёшка Си. Слойная система языка программы" представляет весь язык программирования на одной странице и потом коротко и ясно его описывает.

В это смысле Слойная система подобна Периодической системе Менделеева (ПСМ). Как и ПСМ, это не самая очевидная и простая вещь, но она лучше беспорядочной кучи сведений. Как и ПСМ, она исправляет ошибочные представления и восполняет очевидные пробелы. И как ПСМ, позволяет развивать научную мысль в смежных областях.

Таким развитием является речевая модель программы, также представленная в книге. Бессодержательное слово "алгоритм" (выдуманный синоним "программы") заменяется настоящим и действенным словом "речь". Модель показывает, как надо писать программу, как кодировать её и как разбирать на машинные команды.

Речевая модель и Cлойная система позволяют избавиться от пережитков машинного подхода в программировании, при котором происходит нездоровая сосредоточенность на сложностях устройства машины и машинных языков. Это состояние свойственно 50-м годам XX века, когда машины и языки были сложными, а программы - простыми.

Сейчас положение  строго обратное. Программы - сложны, а языки - просты и вторичны. Но устаревший машинный подход  стремится сделать простое сложным, потому что так привычнее и выгоднее по деньгам (да, это оскал капитализма, товарищи). Это можно  сравнить с научным убеждением, что Земля вращается вокруг Солнца, при том, что большинство уверено в обратном.  Они же не слепые, вон Солнце - оно двигается, и святая римская церковь так учит… Но Земля действительно вращается. Предшествующее описание и понимание языка Си было неполным, о чём и говорит обсуждаемая книга.

Книга обращена к подготовленному читателю, который сможет и поможет вынести обоснованное суждение - все-таки вертится, или нет.

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

Авторство: 
Авторская работа / переводика

Комментарии

Аватар пользователя RusАлхимик
RusАлхимик(8 лет 1 месяц)

Согласен во многом, но как сюда устроить 1с-типаязык?

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Если вы про язык 1С, то "Пастернака не читал", но одобряю. Решение создать язык на русской основе - гениально, и дальнейший полный успех это подтвердил. 

Я написал статью для Хабра, там есть развитие этой мысли. Как пройдет модерацию и будет размещена - кину ссылку. 

Аватар пользователя DjSens
DjSens(5 лет 9 месяцев)

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

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

революцией будет визуальное программирование,  по аналогии с визуальным редактором форм,   или устное - говоришь компу в микрофон суть процедуры или функции и ИИ пишет код

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Современное программирование - это Спарта. "Хорошие" программисты кидают остальных в пропасть. Я, как педагог, с таким подходом не согласен. К тому же смешно слушать длинные рассуждения "хороших" программистов, какие они крутые, сначала запутав, а потом распутав детские по сути задачи. 

Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

хороший программист на любом языке пишет как дышит

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

Аватар пользователя HarkAlAda
HarkAlAda(8 лет 9 месяцев)

Поддержу Вашу точку зрения, и попробую немного развернуть.

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

Противники кириллических языков традиционно выкатывают в качестве довода ничем не подкрепленное субъективное мнение что "мне неважно на каком языке писать". Но если окунуться вглубь процесса, то даже такая мелочь как именование переменной, при составлении программы на англоязычном языке программирования требует дополнительных умственных затрат, перевода имени переменной с родного русского языка на английский, а при чтении исходного кода - обратно. И, само собой, необходимость такого перевода тоже источник возможных ошибок.

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

Интеграция фреймворков в IDE также оставляет желать много лучшего.

Единственный крупный недостаток написания кода в кириллице - в аппаратной части устройств ввода. Знаки <>[]{}&^$#@ - не представлены в кириллических раскладках клавиатуры. Идеальным решением было бы увеличение числа клавиш на 4-5 штук.

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

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

Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

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

OneScript

Аватар пользователя HarkAlAda
HarkAlAda(8 лет 9 месяцев)

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

Аватар пользователя vutshim
vutshim(11 лет 8 месяцев)

Kotlin выбран Гуглом в 2019м как основной язык разработки для Андроида.
Сделали Котлин в JetBrains - ребята с корнями из СпБ. Так что хоть это и не кирилический язык, но наши (пусть и не на прямую) наконец-то вышли на передовые рубежи.

Минусы кирилической граматики :
1. Средняя длинна слов - в англиском она ниже
2. Намного меньше правил в формировании предложения - читая Питон фактически читаешь почти английский текст
3. Склонение и окончания слов - увы, но придется или читать убожество где слова будут в среднем роде единственного числа да еще и с глаголами или проклиная разработчиков пытаться запомнить массу одинаковых терминов с разным написанием
4. Увы, но кол. русских програмистов в разы меньше чем английских, а поэтому набрать достаточную массу для раскрутки разработки не получится. Потому что человек будет сравнивать - или разбираться (а разбираться придется если будет большой обьем) в чем-то, что применяется у пары-тройки десятков фирм (это в лучшем случае) или иметь возможность писать для всего остального мира
5. Библиотеки - опять-же или писать все самостоятельно (тут даже ОС Линукс адаптировали пара фирм, куда весь стек написать) или проблемы со стыковкой и сопряжением  библиотек на другом языке к кирилической граматике

Ну и даже после прочтения двух статей я так и не понял - что же дает кирилическая граматика (точнее - убогий волапюк в который она будет превращена) для разработчика?

П.С. с ужасом вспоминаю школьную поделку г. Ершова - Паскаль на русском

Комментарий администрации:  
*** Уличен в жидких набросах ***
Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

Простите, а в какой области Вы программируете? Понимаете, распространённость 1с является результатом многих факторов, использование русского языка в синтаксисе - в числе основных, ИМХО.  Когда есть возможность написать Сумма = ?(Документ.СуммаВключаетНДС, СтрокаДокумента.Сумма, СтрокаДокумента.Сумма + СтрокаДокумента.СуммаНДС); - смею Вас уверить, это потом не в разы - в десятки раз более читаемо,  чем Summa = ?(Document.SummaVkluchaetNDS, DocumentString.Summa, DocumetnString.Summa + DocumetnString.SummaNDS). К слову, я во втором выражении допустил ошибку - очевидна ли она?

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

Аватар пользователя vutshim
vutshim(11 лет 8 месяцев)

Простите, а в какой области Вы программируете?

Веб. Бакенд (в основном на ПХП и Питоне естественно с SQL, еще чуть на Java), Фронтенд - на JS.

Понимаете, распространённость 1с является результатом многих факторов, использование русского языка в синтаксисе - в числе основных, ИМХО.

Нет, распространенность 1с связана не с языком, а с организацией, удачным попаданием в струю и т.п. не програмискими вещами. Это примерно как Бейсик - язык убогий,но Гейтс удачно его протолкнул, поддержал и дальше уже работает закон больших чисел. 1С быстро адаптировались в поддержке изменений в бухгалтерии, дале комплекс позволяющий решить задачи ну и уверен (не буду обвинять :) ) что были и коррупционные состовляющие :) в виде проталкивания своего решения.

Насчет читабельности - я бы поспорил. Да, вроде кажется что понятно, но потом мозг ломается. И напомню что SQL (достаточно простой и вроде понятный)  вводился как раз для бухгалтеров, что бы они сами данные запрашивали и не дергали разрабов :)

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

Ну да, для вас это плюс, т.к. зная одно - можете работать в разных областях. Но к русскому языку 1с относится примерно так как белка к человеку - вроде млекопитающее, но не родственник :)

Комментарий администрации:  
*** Уличен в жидких набросах ***
Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

Шестёрка была для бухгалтеров - журнал операций плюс расширяемый набор шаблонов. Семёрка - гигантский скачок. Именно благодаря языку и объектной модели. Добавить, поправить, допилить... Гибкость неимоверная,  простота реализации 95 процентов требований клиента... ну, не в несколько кликов, нет. Но всё понятно, лёгкость освоения непередаваемая.

Я пришёл на работу в контору, имея опыт написания на 1с  скриптов обмена между самописным учётом заказов на аксессе и 1с Бухгалтерией. И в течение недели сделал аналог базы учета коммунальных услуг и платежей, сделанной на Дельфи. Программер ушёл и не оставил исходников. Пришлось конвертить db  в dbf, потом разбираться в данных, потом по-быстрому писать базу на 1с, потом грузить данные из dbf  в новую базу. В темпе нарисовал отчетность, печать расчётных листов. И всё это - за первую неделю работы по специальности, с едва знакомой платформой.

Ничего похожего ни до, ни после не встречал. Восьмёрка сложнее - в чём-то, но тут дело не в языке, а в новых возможностях. Так что по мере освоения открываются всё новые и новые грани платформы.

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

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

А использование русского языка в синтаксисе, мне кажется, обусловлено именно той же причиной. 1С изначально родилась как бухучет для РФ. и разработчки 1С думали, что бухгалтера будут сами что-то в ней для себя кодить, запросы какие-то рожать, и выборки данных делать. и разрабы прекрасно знали, что бухгалтера вообще ни слова не понимают по англицки. вот и впендюрили туда православную "речь". потом оказалось, что программы под 1с все равно пишут программисты, которых от этой "речи" выворачивает по большей части, но ничего уже изменить было нельзя. :-)

Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

Вы в теме, или Вам кажется? Бухгалтерий для России не писал только ленивый и безрукий. Я за свою карьеру успел повидать штук пять профессиональных тиражируемых  и ещё несколько поделий. К слову, разработка айтишникой РЖД использовала русский синтаксис для описания формул, которые вводил пользователь.

Так что 1с выгрызла себе место во вполне конкретной конкурентной борьбе, благодаря своим особенностям. И смею Вас уверить - те, кого от языка 1с выворачивает, тут не засиживаются. Остальные пользуются и получают удовольствие от отсутствия волапюка, типа Schet, Colvo, Cena.

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

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

если окунуться в глубь процесса : то я когда кодю- я думаю на смеси русско-английского. я на ней думать стал через пол-года изучения программирования в школе. for & while мгновенно перестали быть английскими словами "для" и "пока". они стали именно for & while. "цикл со счетчиком" и "условие с действиями". не "я их перевожу", а у меня в мозгу за этими словами появился свой смысл, и больше никаких переводов. так же и со всем остальным. {}, begin/end & DO/ENDDO- это не слова, которые надо переводить. это самостоятельные конструкции в голове. и их использование не требует усилий.

составление имени переменной требует усилий и занимает время? см. предыдущее. через пол-года (еще в далеком 1998, без гуглопереовода и интернета) я закрыл в башке школьный курс английского, стал спокойно читать и коряво говорить на нем, и никаких проблем с "составлением имен" не имел. на худой конец пишем имена вида сikl_rascheta, и ноупроблем и никакого перевода. гуманитарии какие-то думают, что программисты переводят программы. неа. мы думаем на смеси языков. причем, при работе думаем сильно не так, как в обычной жизни. слова другие, конструкции другие, образы другие.

Не вижу никаких недостатков в использовании готовой библиотеки для компьютерного зрения, реализующей алгоритмы и методы, у которых одно только описание занимает сотни страниц, и которые реализованы с поддержкой всех SSE, AVX, "#pragma omp"  и прочего. хотите переписать IMKL на русском? может сразу к санитарам?

расширить клавиатуру на 5 клавиш? ну так какие проблемы-то? откройте заводик. только нафиг она нужна? я на обычной уже 20 лет- я ее уже даже не помню. я просто печатаю на ней на двух языках не глядя, и не помню, какие клавиши под какими пальцами. но никаких новых я не хочу, мне удобно, что везде одинаковые клавиатуры и я везде одинаково быстро печатаю не глядя, и точно знаю, где []. и как их набрать.

пока мы не избавимся от необходимости думать на двух языках сразу

мы не думаем на двух языках! мы думаем на языке, который за 4-6 месяцев практики становится на 200 слов и 26 букв больше. (про 200 слов это я хвататнул, ладно если их там 50 наскребется). и вполне мы спокойно выходим на производительность коренных англичан. и обходим их. мысленные операции не тратятся на название переменных. Мысленные операции тратятся на поиск утечек памяти и на зубодробительную математику. Вы же не предлагаете математикам отказаться от греческого алфавита и значков интегралов? погодите-ка.... да не...

, начиная от программирования микроконтроллеров, заканчивая написанием скриптов для веб-страниц

сразу после создания русского интернета.

Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

Я согласился бы с Вами, когда бы не работал с 1с. До того программировал на всём, что  было доступно. FoxPro - фиг с ним, аксесовский бейсик - ладно, Си - пожалуйста, ПХП - а кто, кроме нас, Perl - ааааа, блин, хрен с вами. Даже ++ пришлось изучать. SQL - MySQL, Postgres, Access...

И английский я изучаю достаточно давно. Так что представление имею. Но передать непередаваемое... Эту лёгкость, которая появляется, когда пишешь на 1с - ты пишешь алгоритм на русском, ничего переключать не приходится. Чтобы иметь лёгкое представление, скажу, что необходимость переключения на латынь для ввода "<>" жутко раздражает. А пользоваться приходится, потому что так нагляднее, и приятнее читать.

Я в состоянии читать тексты на C#, Java, JS - периодически вплывают интеграционные проекты. Но необходимость переключения, если она возникает, раздражает жутко. Когда требуется держать пары реквизитов - один 1с, другой - сторонней программы, половина времени уходит именно на контроль переменных.

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Ваш опыт и мнение очень ценны. Попробую как-нибудь 1С. Вроде С# ещё позволяет уйти в кириллицу, но там будет суржик. 

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

Визуальные языки: Скратч для детского сада. LabView для профессоров. Вы их видели? революции эти? Визуальный язык- это очень хорошо. пока не возникнет вопрос- а как его применять?

немножко критики: буржуйское слово "алгоритм" имеет в русском языке донельзя конкретный смысл- "конечная последовательность действий, приводящая к требуемому результату". и что характерно- визуально описать "последовательность действий" достаточно сложно. опишите визуально расчет суммы ряда. ну? опишите визуально процесс синхронизации потоков в многопоточной системе с менеджером потоков, отдельным потоком для ГУИ пользователя и асинхронным обменом с удаленным поставщиком данных. а фигово получается. потому что по большей части алгоритмы- это логика и абстрация. левополушарное все. а логика у нас построена на _словах_. Визуальностью у нас занимается правое полушарие. оно любит образы и картинки, но с логикой оно не дружит. и не очень-то хочет представлять абстрактные вещи. У нас есть визуальные редакторы форм- именно потому, что это единственная визуальная часть наших программ. Есть еще всякие UML-утилиты, которые позволяют визуализировать... нет, не алгоритмы, а связи между алгоритмами. между отдельными абстракциями, которые я, как программист, нагородил в своих программах. А вот сами абстрации- не визуализируются. ибо нафиг не надо. если я их понимаю- то я их понимаю логической частью сознания. а если не понимаю- то и никакая визуализация мне не нужна.

Про устное- эксперимент: а скажите, в чем суть функции факториала. и вместо ИИ возьмите обычный интеллект программиста. пусть он (программист) прикинется искусственным, и с хитрецой и фантазией извратит Вашу устно переданную суть "факториала" во что-нибудь полностью удовлетворяющее сути, но не соответствующее факториалу.

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

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Отвечаю обоим ув. Тиру и ДиДжею. 

Революция - это понимание, что обычная прямая речь и является программой. И она частично описана в Ма3. Визуальные заморочки только удаляют от этой простой и важной истины. 

Алгоритм - это новояз. Пустое слово, введенное для описания программы, но ставшее его синонимом. Программа - это программа.  Тавтология. 

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

Аватар пользователя vutshim
vutshim(11 лет 8 месяцев)

Революция - это понимание, что обычная прямая речь и является программой.

Увы, но речь и разговорный язык и близко не подошел к ОДНОЗНАЧНОСТИ понимания того
что же ты сказал. Вы готовы что ваша программа не будет работать хотя бы отдаленно похоже
на то, что вы попытались произнести?

Комментарий администрации:  
*** Уличен в жидких набросах ***
Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

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

Аватар пользователя vutshim
vutshim(11 лет 8 месяцев)

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

Вы или не поняли или я не полностью обьяснил. Не важно как вы закодируете свою живой язык - он тем и отличается от машинного (не важно какого уровня), что сам по себе неоднозначный. Мало того, русский, в отличии от английского, позволяет еще почти полностью перставлять слова в предложении. При этом итог остается - достаточно понятным, но другим. Проблема не в написании, а в том, что и термины и структура языка не формализированы и поэтому понять, что же имел в виду разработчик когда что-то написал не может не только машина, или другой человек, но даже сам разработчик.

Мало того что в сложных (хотя даже в средних) алгоритмах даже на формализированном языке и то мозг ломаешь и ошибки совершаешь, а как разрабатывать на том, что дает неоднозначность в предложении из 3-4х слов 

Комментарий администрации:  
*** Уличен в жидких набросах ***
Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

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

Аватар пользователя vutshim
vutshim(11 лет 8 месяцев)

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

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

Комментарий администрации:  
*** Уличен в жидких набросах ***
Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

По ссылке внизу. Лучше 1 раз увидеть, чем 100 раз услышать. 

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

Человеческая речь однозначна для человека,

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

Аватар пользователя evm11
evm11(11 лет 7 месяцев)

Вставлю свои пять копеек про LabView.

Я вааще-то по образованию хардварщик, но приходится и проги писать под этот хард.

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

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Поддерживаю. Это как писать алгоритмы блок-схемами. Была такая мулька в 60-е, когда электронщиков пытались подсадить на программирование. "Да брось уже свои микросхемы, и скажи словами, чего тебе надо!". 

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

нет, не так. к блок-схемам имеет ничего общего, хотя чисто внешне- может быть и похоже. но мало ли че померещится.

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

ага. их "потоки данных"- зело нетривиальная концепция :-). однако, это не отменяет того факта, что по формальным признакам LabView- это вожделенный тут некоторыми визуальный язык. я его потому и привел- что хрень полная, но ведь визуальный! язык! должно же быть конфетка! а че-то не прижился...

Аватар пользователя evm11
evm11(11 лет 7 месяцев)

Ну не знаю как там прижился или нет (у нас на фирме не прижился), а когда заходишь на сайт NI, то большинство примеров наваяно на LabView. Может у них политика такая (сами ваяют примеры или из тех что пользовтели предоставляют фильтруют под LabView )

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

нет. просто LabView - это среда программирования под CompactRIO, а рио- это центральная мозга нашионаловской измерительной аппаратуры. Если ты юзаешь оборудование NI- то удобнее всего снимать с него данные на CompactRIO, и писать под этот рио код в ЛабВью. вот они и шпарят примеры для своей целевой аудитории.

Аватар пользователя evm11
evm11(11 лет 7 месяцев)

CompactRIO  не пользуем, ибо нужно для CompactRIO  покупать доп шасси и для буковки "R" доп лицензию.

Поэтому пользуем (в основном) PCI иил PCI-e (USB редко ибо весьма глючные). Есть еще PXI (но только если есть пожелания заказчика)

Аватар пользователя Nordicx86
Nordicx86(12 лет 3 месяца)

очень сильно зависит от инструмента - был в шоке от прироста в 20-30% производительности в Vivado при переходе от прямого кода на Verilog к Block Design...

Комментарий администрации:  
*** Криптобес ***
Аватар пользователя gridd
gridd(7 лет 11 месяцев)

Это ладно. Знаком с одними ребятами, они ведут в Монголии проекты на 1С, в 1С (*тадамм*!) внезапно есть интерфейс на монгольском языке, на кириллице, конечно. Чтение листинга 1С на монгольском языке способно вызвать древних демонов, так он звучит. Кстати, монголы предпочитают работать в 1С на русском языке. Причина тупа, до безобразия - не потому что они Монголию не любят, а потому что релевантных ссылок на 1С с русским интерфейсом куда как больше.

Аватар пользователя Escander
Escander(5 лет 6 месяцев)

 Интерфейс есть у последних релизов на примерно 20 языках. Кодить можно или на Великом и Могучем  или на инглише. Можно создавать решения сразу на нескольких языках (но немного больше будет кода + нужен носитель языка)... Был удачный эксперимент по использованию API гугловского переводчика что-бы переводить интерфейс влёт на любой язык, но открытие форм первый раз притормаживает даже при очень хорошем канале связи.

Аватар пользователя Escander
Escander(5 лет 6 месяцев)

 Ошибочка, успех 1С не в ЯП на великом и могучем (кста, можно то-же кодить и на инглише (есть аналоги для всех вызовов и объектов)), а в :

1.Открыторсти платформы.

2.Куча готовых решений на пока не все но очень многие случаи жизни, главные типовые разрабатывались в тесном содружестве с сильными методистами (скурившими Голдрата, Дуру и т.п.).

3.Возможность допилить под себя то что в 2.

PS: тем кто мне будет говорить про простоту ЯП 1С - зацените конструктор  ПроцессорВыводаСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

PS2: порог вхождения в 1С 8.0 значительно выше чем в 1С 7.7, в 8.2/8.3 - ещё выше.

Аватар пользователя vutshim
vutshim(11 лет 8 месяцев)

PS: тем кто мне будет говорить про простоту ЯП 1С - зацените конструктор  ПроцессорВыводаСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

Господи, не дай оголодать так, что бы пришлось на этом разрабатывать :)

Комментарий администрации:  
*** Уличен в жидких набросах ***
Аватар пользователя maxvlad
maxvlad(12 лет 3 месяца)

Ой-ой, можно подумать, никто не сталкивался с функциями  типа GetStringFromThereToPutSomewhere(String ThatThing, Int WhereGet, Int WherePut)?

Аватар пользователя Escander
Escander(5 лет 6 месяцев)

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

Аватар пользователя tiriet
tiriet(11 лет 2 месяца)

а я продолжаю настаивать на том, что успех 1С заключается в бухучете. если бы они не привязали за яйца всех бухгалтеров РФ- то никакого успеха у них бы не было. Но они еще 18 лет назад посадили всю страну на свою систему. и программистам пришлось осваивать их язык. заставили бухгалтера. вот и все. а открытость, готовые решения и прочее- оно появилось только из-за того, что рынок они хапнули, а рынок их хапнул в ответ, пришлось крутиться.

Аватар пользователя Escander
Escander(5 лет 6 месяцев)

 Помимо 1С ещё куча фирм держала нос по ветру форм отчетности (лично внедрял учетную программу "Интегратор" фип=рмы ЗАО "Инфософт"), но ... там выше всё написано - жэтого в полном объёме нет ни у кого.

 PS по секрету, кроме пунктов 1,2,3 есть более важный пункт №0 - 1С давала возможность зарабатывать франчам неплохо так первые лет 8-10,  а потом сделала предложение от которого франчи не смогли отказаться: те из фра, кто имеет сертифицированных специалистов в штате - получает больший % чем они получали ранее, что мотивировало франчей "учить матчасть".

Аватар пользователя DjSens
DjSens(5 лет 9 месяцев)

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

Аватар пользователя iStalker
iStalker(12 лет 3 месяца)

Автор, объясните мне пожалуйста, почему я вообще ничего не понял в этой "матрешке" ? Несмотря на 25 лет опыта в программировании? :)

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

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

С удовольствием! 

  1. Деление на процедурные и объектные языки ложное, и призвано оправдать словоблудие и косноязычие "философов" ООП.
  2. Я 10 лет преподаю программирование и уверяю, что далеко каждый студент понимает это самое. 
  3. Вы не поняли, потому что не думали, как описать (детям или взрослым) выражения 1) объявление функции или 2) составного образа. Система просто даёт формулы этих выражений, действующие в Си и других языках. И так с любой другой единицей. 

 

Аватар пользователя wblk
wblk(7 лет 4 месяца)

Деление на процедурные и объектные языки ложное, и призвано оправдать словоблудие и косноязычие "философов" ООП.

Напомнило - "спид выдумка империалистов". Почему ложное? На каком основании вы это утверждаете?

 

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Это деление появилось из-за неспособность кратко описать, как работает объектный язык. Пришлось писать толстые книги и выливать на их страницы потоки восторгов. И это оказалось очень выгодно в денежном отношении. А простой и честный язык Си скромно остался в стороне, смотреть на этот "пир духа". 

Решение программных задач не зависит от выбранного языка, хочешь - Си, хочешь - Си++, хочешь - С#. К вопросам взаимодействия с интерфейсом это не относится, так всё завязано на языках монополистов (Микрософт (C#), Эпл (Objective-C etc), Гугл (Java)). 

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

Аватар пользователя PigPog
PigPog(12 лет 3 месяца)

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

Аватар пользователя СПбДмитрий
СПбДмитрий(8 лет 7 месяцев)

Продавцы ООП хотят, чтобы вы думали, что именно их язык очень важен и удобен, и без него никак. 

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

Потом надо выбрать подходящий язык и понять его. Конечно, возможность дополнительного деления на классы большого проекта - хорошая вещь. Также неплохо объединять в классах переменные и функции. Но на решение это не влияет. А вот считать, что ваше мышление зависит или как-то связано с выбранным языком - это большое и чреватое заблуждение. Впрочем, повсеместно навязываемое. 

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

Аватар пользователя wblk
wblk(7 лет 4 месяца)

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

А в классическом  Си очень много того о чем человек не думает - один malloc и free чего стоят. 

 

Страницы