LINUX.ORG.RU

питонизируем си, js и иже с ними

 , ,


0

3

Когда я изобретал «Яр», я думал про синтаксис. С одной стороны, всем хорош Питон: в нём минимум лишнего. С другой, достаточно случайно задеть пробел и строчка кода втянется внутрь цикла или ветвления. Т.е. надёжность такого синтаксиса плохая. Как же скрестить коня и трепетную лань? А очень просто - нужно всего лишь поменять стиль отступов в Си-образных языках, и получится вот что:

function showTableStructure() {
  if (name.length == 0) {
    alert("Please select a table!");
    return;  }

  getTableStructure(name, { type: getCurrentObject().type }, 
   function(data) {
    buildTable(data);
    $("#results").addClass("no-crop");});}

Налицо питонячья компактность и при этом сишная надёжность. Но стало опять похоже на лисп...

★★★★★
Ответ на: комментарий от monk

А вот разработать эффективную систему знаков для массового использования может и один человек.

А внедрить директивно государство.

PS: Как мне нравится капча с гидрантами /люкс/.

anonymous
()
Ответ на: комментарий от monk

или вот из твоего же примера, очень хорошее

«я заплатила за информацию из Интернет, вот чек от провайдера, почему я должна за неё платить повторно!?»

Это понятие «информация», собственно, соотвествует бытовому. Ничего нового в нём нет. Просто человек как то не задумывался что он всё время получает новую информацию. Никаким языком и предупреждениями этого не исправить.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

Решается это обучением, т.е. овладением понятиями. А не какими то специальными символами и яызками. По моему ты уже упорствуешь.

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

Ещё один человек может яр пилить. Или кирпичи таскать из угла в угол

Понял. Ладно, не агитирую.

monk ★★★★★
()
Ответ на: комментарий от monk

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

Я честно говоря не считаю омонимичность проблемой в 99% случаев. Как я упоминал, я думаю она легко разруливается по контексту, вот только гипотетически скорость чтения должна падать.

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

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от AndreyKl

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

Что часто и наблюдается.
А другой может разработать C, C++, HTML, ...

anonymous
()
Ответ на: комментарий от anonymous

Моя мысль в том что даже самые лучшие технологии несут людям проблемы если структура общества «плохая».

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

А изменение структуры общетсва всего в одной стране - СССР - заставило измениться капитализм во всём мире. И он, внезапно, стал по крайней мере в странах ядра «почти розовым и пушистым», по крайней мере о станках поедающих детей люди забыли на добрых пол века. Правда сейчас всё возвращается на круги своя. Но это не отменяет а подтверждает те суждения которые я привожу.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

А изменение структуры общества ...

ИМХНО духовность общества.
А изменение структуры общества в котором в почете воровство, лживость,
блуд, отсутствие морали, ... что изменит?
Ничего.

Единственное изменение в нем будет - создание новых форм популизма /которые будут изобиловать заботой о благе всех/.

anonymous
()
Ответ на: комментарий от AndreyKl

А изменение структуры общетсва всего в одной стране - СССР - заставило измениться капитализм во всём мире.

Весьма наивное представление. Капитализм во всём мире менял не СССР, а те самые работяги, которые на него впахивали. Бастовали, требовали прав и просто валили через чур зажравшихся капиталюг.

anonymous
()
Ответ на: комментарий от AndreyKl

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

«После», не значит «вследствие». В начале 20 века потребовалось много образованного персонала. Причём начиная с Форда, рабочих начали рассматривать как потенциальных потребителей производимой продукции. А перевод производства в Азию привёл к тому, что образованный персонал теперь в таких количествах не нужен.

monk ★★★★★
()
Ответ на: комментарий от AndreyKl

Он говорил на сколько я помню что из за того что из за ассоциаций мозг начинает думать «не в ту сторону»

Вот! Это та самая «омонимичность» про вред которой я говорю. Правда, иероглифы от неё не спасают :-( Китайцы ассоциируют вещи через омонимы и состав иероглифов (например, 始 = начинать, а 女 = женщина). Даже если это имя-фонетик.

monk ★★★★★
()
Ответ на: комментарий от anonymous

Весьма наивное представление. Капитализм во всём мире менял не СССР, а те самые работяги, которые на него впахивали. Бастовали, требовали прав и просто валили через чур зажравшихся капиталюг.

и monk

«После», не значит «вследствие».

Весьма показателен пример французских бунтов 70х годов и тех что прошли в этом и пару лет назад: тогда, в 70х, множество людей вышло на улицу и буржуазия вынуждена была пойти на уступки: люди получили, емнип, сверхурочные, сокращенную рабочую неделю и ещё какие то плюшки. И вот несколько лет назад буржуазия собралась забрать эти сверхурочные, сокращенную рабочую неделю и ещё какие то плюхи. Народ вышел на уличу, жёг машины, бунтовал. И что? А ничего, просто вышел к быдлу мужчина в дорогом костюме и сказал буквально следующее : чтобы лучше жить надо лучше работать. Сказал и ушёл.

Я конечно не спорю что без работы западных рабочих их жизнь не улучшилась бы. Да только вот с появлением СССР работы той нужно было делать сильно меньше. Да и жизни рабочих она уносить стала совсем не так массово. И правоту моих слов доказывает что с исчезновением СССР с лица Земли тех же самых и больших масштабов протестов оказывается совершенно недостоточно для того чтобы не то что завоевать новое но и даже удержать завоёванное.

Есть ещё великолепный пример бескровной революции в Индии: ещё за каких то 3-4 года до этой революции, во вторую мировую, англичане индусов за людей не считали: когда появилась угроза что Гитлер дойдёт до Индии, англичане просто напросто взяли все запасы продовольствия и выкинули их в Ганг или сожгли. В Индии начался сильнейший голод. Можно найти в интернете фотки того как люди прямо пачками лежат на улицах и умирают. Погибли миллионы без всяких преувеличений (вот здесь можно прочесть краткий экскурс https://maysuryan.livejournal.com/668625.html, фоточка для любителей).

И вдруг, через каких то четыре года Англичане без боёв даровали Индии независимость. Обычно это ставят заслугой Ганди и его «идеологии». В русской вики написано какое то подобие объективной подоплёки:

Лейбористское правительство Британии осознало, что страна, истощённая Второй мировой войной, более не имеет ни международной поддержки, ни поддержки местных сил, чтобы далее удерживать власть над Индией, погружающейся в пропасть межобщинных беспорядков. В начале 1947 года Британия объявила о намерении вывести свои силы из Индии не позднее июня 1948 года.

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

А если вспомнить как местные князьки типа Саддама и Милошевича вольно вели себя с Америкой и СССР сося сразу двух маток? Напомнить что с этими бодрыми хлопцами стало сразу как СССР исчез? Или сами вспомните?

А дурачёк Каддафи? Когда в 81 емнип году США начали его бомбить в прошлый раз, СССР поставил в порт Ливии свой авианосец и ТАСС сообщил, что если хоть одна бомба упадёт на палубу авианосца СССР будет считать это объявлением войны. После этого американцы Ливию бомбить перестали и улетели в освояси. Напомнить где у Каддаффи была бутылка когда доблестные демократизаторы напомнили завравшимся ливийцам кто в доме хозяин? Да бог с ним с Кадаффи, сам виноват. Но где теперь Ливия? Где мирная жизнь миллионов людей? Там же собственно где и упомянутая бутылка.

Так что нет, дело именно в существовании СССР.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 4)
Ответ на: комментарий от AndreyKl

Весьма показателен пример французских бунтов 70х годов и тех что прошли в этом и пару лет назад

Тут дело не в СССР, а в Китае. В 70-х нужны были рабочие. Сейчас всё производство ушло в Китай, а для того, что осталось рабочих слишком много. Закон спроса и предложения.

Форд в 1914 установил рабочим 8-часовой рабочий день, Карл Цейсс — ещё раньше.

Есть ещё великолепный пример бескровной революции в Индии: ещё за каких то 3-4 года до этой революции, во вторую мировую, англичане индусов за людей не считали

Так думаете, это СССР в 1947 имел большее влияние на Индию, чем в 1940? Колонии у Британии отжали США. Британия официально отказалась от колоний подписав Атлантическую хартию.

А если вспомнить как местные князьки типа Саддама и Милошевича вольно вели себя с Америкой и СССР сося сразу двух маток? Напомнить что с этими бодрыми хлопцами стало сразу как СССР исчез? Или сами вспомните?

Тут согласен. Но не уверен, что правление Саддама и Милошевича можно считать достаточно коммунистическим, чтобы поддержку их режимов считать благом.

Да бог с ним с Кадаффи, сам виноват. Но где теперь Ливия? Где мирная жизнь миллионов людей?

Во время существования СССР американцы нарушили мирную жизнь миллионов людей во Вьетнаме, Корее, вторглись в просоветски настроенную Гренаду, оккупировали Панаму.

А Кадаффи просто не захотел сотрудничать с РФ. Вот Асад согласился, так американцы там замучились пыль глотать.

monk ★★★★★
()
Ответ на: комментарий от AndreyKl

... и monk

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

Суждения об событиях происходящие в мире обычно бывают двух типов:
- отрицание Бога и наличие своего мнения на все;
- вера и попытка понять почему те или иные события были попущены или созиждены Промыслом Божьим.

PS: Для не верующих вера является мракобесием.

anonymous
()
Ответ на: комментарий от anonymous

- вера и попытка понять почему те или иные события были попущены или созиждены Промыслом Божьим.

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

monk ★★★★★
()
Ответ на: комментарий от anonymous

PS: Для не верующих вера является мракобесием.

Мракобесием является большее доверие к словам священнослужителя, чем к реальности.

Хотя даже сам Христос на предложение «если Ты Сын Божий, бросься вниз, ибо написано: Ангелам Своим заповедает о Тебе, и на руках понесут Тебя, да не преткнёшься о камень ногою Твоею» отверг, предпочитая действовать по возможности в рамках законов физики. Но современные верующие в требовании к Богу нарушить законы физики гордыни не видят :-(

monk ★★★★★
()
Ответ на: комментарий от monk

Господь на это ответил сатане, что «И иное сказано. Не искушай Бога своего»

anonymous
()
Ответ на: комментарий от monk

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

Можно Библию наизусть знать и ознакомиться с писаниями Святых и при этом оставаться не верующим.

Говорить о каких-то зачатках духовных знаний можно лишь у тех кто стремится следовать заповедям Божьим ...

К сожалению имеется большая плеяда «верующих», которые научились лишь красивому слово сплетению.

anonymous
()
Ответ на: комментарий от anonymous

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

Я не про веру, а про мракобесие. Точнее про утверждение «Для не верующих вера является мракобесием.».

Никто не посчитает мракобесом, например, Рональда Росса или Игоря Ивановича Сикорского. Мракобесие — когда человек считает, например, что «Земля плоская, потому что так написано в Библии» или «прививаться нельзя потому что Бог защитит», Они себя называют верующими, но можно ли мракобесов считать верующими — я сомневаюсь.

P.S. Я не верующий с точки зрения христианства, но не считаю его ложным.

monk ★★★★★
()
Ответ на: комментарий от monk

Я не про веру, а про мракобесие. Точнее про утверждение «Для не верующих вера является мракобесием.».

Пожалуй нужно было сказать помягче /ну например: нападки, .../.
Следовать Заповедям Божьи трудно - нужно бороться с своим Я и своими духовными болезнями.
Шутка.
Это как не ненавидящим C++ его полюбить.

anonymous
()
Ответ на: комментарий от anonymous

Да простит меня Бог.
Мне легко.
Потому, что Заповеди Божьи это та духовность, к которой меня агитировать не нужно.

anonymous
()
Ответ на: комментарий от anonymous

Допускаю частенько ляпы грамматические.
Да такие, что меняют иногда и смысл суждения /sorry/.

anonymous
()
Ответ на: комментарий от monk

Согласен. Давай разработаем для программистов.

В чем профит и как такой подход реализовать /новый язык программирования, rapid система, .../?

anonymous
()
Ответ на: комментарий от anonymous

В чем профит и как такой подход реализовать /новый язык программирования, rapid система, .../?

Сейчас есть две проблемы. 1) именование объектов 2) комментарии.

По факту используется английский язык, но для всех, для кого этот язык не является родным, это решение заставляет тратить дополнительное время. А также заставляет тратить дополнительное время всех остальных, когда они пытаются понять код вида

char* HouseWay;  // way to house case of utilizer

это человек пытался перевести

char* ДомашнийПуть; // путь к домашней папке пользователя

Наличие стандартизованных независящих от языка символов для объектов программного кода позволит быстрее понимать комментарии и код.

monk ★★★★★
()
Ответ на: комментарий от monk

Экспромтом /но не знаю правильного ответа/

http://qaru.site/questions/5301244/why-doesnt-these-unicode-variable-names-wo...
Почему эти имена переменных unicode не работают с -fextended-identifiers? "," И ≠

https://gcc.gnu.org/wiki/FAQ#What_is_the_status_of_adding_the_UTF-8_support_f...
GCC FAQ

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67224 UTF-8 support for identifier names in GCC

anonymous
()
Ответ на: комментарий от anonymous

В C++ для имен переменных вроде используется UTF-8 ...

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

monk ★★★★★
()
Ответ на: комментарий от anonymous

Даже если нет нормальной поддержки, неважно. Можно перед компиляцией препроцессинг делать.

monk ★★★★★
()
Ответ на: комментарий от monk

char* HouseWay; // way to house case of utilizer

А что бывают такие программисты /название переменной из серии «тетя Маша советует так»/.

anonymous
()
Ответ на: комментарий от monk

Просьба привести пример хотя бы нескольких символов /и конечно объяснить их предназначение/.

PS: «Спрячь за высоким забором monk. Выкраду вместе с забором».

anonymous
()
Ответ на: комментарий от anonymous

А что бывают такие программисты /название переменной из серии «тетя Маша советует так»/.

В смысле? Названия переменных «домашняя папка»: https://github.com/search?q=char *homepath&type=Code выдаёт 126 тысяч совпадений. Или намёк на то, что программист обязан в совершенстве знать божественный английский, а до этого не имеет права написать ни строчки кода?

monk ★★★★★
()
Ответ на: комментарий от anonymous

Просьба привести пример хотя бы нескольких символов /и конечно объяснить их предназначение/.

Весь вопрос, что брать за основу. Если иероглифы, то 法 = «правило», 到 = «изменяться до», 回 = «возвращать», 比 = «сравнивать». Если пытаться сочинить что-то на основе математики, то ⊢ = «правило», ⇒ = «изменяться до», ↲ = возвращать, ⇔ = «сравнивать».

monk ★★★★★
()
Ответ на: комментарий от monk

Скорее всего мое замечание плохим знанием английского.

Исходил из того, что программист гуглил примерно так «MSDN домашняя папка»
При этом он должен был бы быстро выйти на функции для доступа к стандартным folders.
https://docs.microsoft.com/ru-ru/windows/desktop/api/shlobj_core/nf-shlobj_co...

И затем постараться придерживаться терминологии Microsoft.

anonymous
()
Ответ на: комментарий от anonymous

Скорее всего мое замечание плохим знанием английского.

Так рассматриваем программиста, который английский в школе не учил.

https://docs.microsoft.com/ru-ru/windows/desktop/api/shlobj_core/nf-shlobj_co...

Там всё грустно «Это содержимое недоступно на вашем языке. Вот версия на английском языке.».

И затем постараться придерживаться терминологии Microsoft.

Э? Я всё ещё на ЛОРе? Вообще естественный запрос «Как в си узнать домашнюю папку?» выводит на Как в си узнать домашнюю папку? а оттуда на https://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=getpwent&category=3

В примере char *pw_dir; /* домашний каталог */, но в учебнике написано, что переменным надо давать полные имена, а не сокращённые. Без знания английского google translate переводит pw как «в неделю», а dir как «реж», поэтому нашему гипотетическому программисту ничего не остаётся, кроме как перевести «домашний путь» на английский по словарю...

monk ★★★★★
()
Ответ на: комментарий от monk

Не возможно угодить всем /привычки и вкусы у людей весьма разные/.

Поэтому для меня приемлемым решением было таким - «Предоставить пользователю возможность настройки такого рода символов».
При этом парсер компилятора должен учитывать эту возможность.

anonymous
()
Ответ на: комментарий от anonymous

Поэтому для меня приемлемым решением было таким - «Предоставить пользователю возможность настройки такого рода символов».

Это как? Настройка символов по сути будет являться словарём соответствий символов и слов (из какого языка?).

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

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

А ему-то какое дело?

monk ★★★★★
()
Ответ на: комментарий от monk

А ему-то какое дело?

Экспромтом /не множко утрированно/.
И так мы предоставляем программистам возможность использование некоих спецсимволов.
К примеру возможности заменить «if» в коде на какую-либо рожицу.
При этом парсер должен проверить нет ли в настройках спецсимволов
рожицы и понять, что она используется вместо «if».

anonymous
()
Ответ на: комментарий от anonymous

При этом парсер должен проверить нет ли в настройках спецсимволов

Понял. Если слой перевода делать вплоть до уровня языка, то разумнее делать это отдельным слоем (препроцессором). Что-то вроде

$ translate test.cpp.int
// получили test.cpp

$ g++ test.cpp -o test
// получили test

Как с грамотным (literate) программированием.

monk ★★★★★
()
Ответ на: комментарий от monk

Согласен!

Если еще добавить возможность использования UTF-8 для переменных, то ...

Шутка.
Кстати необязательно для «if» использовать спецсимвол, можно и подстроку /например «Ты дурак?»/.

anonymous
()
Ответ на: комментарий от anonymous

http://qaru.site/questions/5301244/why-doesnt-these-unicode-variable-names-wo...
Почему эти имена переменных unicode не работают с -fextended-identifiers? "," И ≠

Для справки: qaru — это наглая раскрутка за счёт сообщений stackoverflow. Оригинальный текст тут: https://stackoverflow.com/questions/32799078/why-doesnt-these-unicode-variabl...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.