The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Новые выпуски вариантов coreutils и findutils, переписанных на языке Rust , opennews (??), 03-Апр-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


149. "Новые выпуски вариантов coreutils и findutils, переписанных ..."  +1 +/
Сообщение от Аноним (149), 03-Апр-23, 18:32 
>си это древнючий мамонт, а зачем такой синтаксис в 2014

Чем тебе синтаксис сишки не нравится?

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

195. "Новые выпуски вариантов coreutils и findutils, переписанных ..."  –4 +/
Сообщение от keydon (ok), 04-Апр-23, 10:47 
>>си это древнючий мамонт, а зачем такой синтаксис в 2014
> Чем тебе синтаксис сишки не нравится?

Очень перегружен. Куча лишних "{}<>#;%1f", магических знаков, макросов. Я уже привык к этой жути, но каждый раз когда возвращаюсь с современного языка ужасаюсь.
Много устаревших и неудобных конструкций (вроде спецификаторов формата в строках, их наверное только профессиональные сишники и помнят) (пофикшено в C++)
Много лишних и очевидных слов (тоже пофикшено в C++).
Вот как могло бы выглядеть более современное представление (увы, для указателя я не придумал замены, в идеале должно быть понятно что это указатель, а не логическая операция например, еще идеальнее если будет понятно как называется этот элемент не перелистывая спецификацию к языку):
include stdio

double first
printf "Enter number: "
scanf &first
printf "Number: {first}"
return 0

И оригинал
#include<stdio.h>

int main() {
  double first;
  printf("Enter number: ");
  scanf("%lf", &first);
  printf("Number: %.2lf", first);
  return 0;
}

Ответить | Правка | Наверх | Cообщить модератору

203. "Новые выпуски вариантов coreutils и findutils, переписанных ..."  +1 +/
Сообщение от n00by (ok), 04-Апр-23, 13:15 
> Вот как могло бы выглядеть более современное представление (увы, для указателя я
> не придумал замены, в идеале должно быть понятно что это указатель,
> а не логическая операция например, еще идеальнее если будет понятно как
> называется этот элемент не перелистывая спецификацию к языку):
> include stdio

Не различает

#include<stdio.h>
#include "stdio.h"

впрочем, м.б. и не надо

> double first

static storage duration
в оригинале automatic

> printf "Enter number: "
> scanf &first
> printf "Number: {first}"
> return 0

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

Вы смотрели язык Genie? Это Vala (транслируется в Си) с синтаксисом Python.
Почему-то на нём не пишут (я не нашёл проекты), в отличие от Vala.
Подозреваю, как раз из-за всех этих "лишних" символов.

> И оригинал
> #include<stdio.h>
> int main() {
>   double first;
>   printf("Enter number: ");
>   scanf("%lf", &first);
>   printf("Number: %.2lf", first);
>   return 0;
> }

Ответить | Правка | Наверх | Cообщить модератору

212. "Новые выпуски вариантов coreutils и findutils, переписанных ..."  –1 +/
Сообщение от keydon (ok), 04-Апр-23, 17:38 
> С точкой с запятой всё просто в простых примерах, как и с
> круглыми скобками - можно просто убрать. Вопрос, что с более сложными.

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

> Вы смотрели язык Genie? Это Vala (транслируется в Си) с синтаксисом Python.

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

> Почему-то на нём не пишут (я не нашёл проекты), в отличие от
> Vala.
> Подозреваю, как раз из-за всех этих "лишних" символов.

Достаточно упоминания гнома, чтобы отпугнуть всех желающих :)

А вообще я придерживаюсь мнения что само существование высокоуровневых языков (и си на мой скромный взгляд первый виновник в этом преступлении) привело к появления потрясающего количество ошибок и неоптимальных программ по перетасовке байтиков (в духе преобразования из int в string, из string в unicode string, из unicode string в double и обратно в int) и собственно расцвету ада зависимостей от зависимостей. В идеале я считаю надо спуститься ближе к псевдоассемблеру (или условному байткоду) и постараться сохранить скорость разработки (частично она итак ускорится из-за устранения лишних абстракций) без запрятывания реализации под ковер как это делают высокоуровневые языки.

Ответить | Правка | Наверх | Cообщить модератору

216. "Новые выпуски вариантов coreutils и findutils, переписанных ..."  +/
Сообщение от n00by (ok), 05-Апр-23, 08:27 
>> С точкой с запятой всё просто в простых примерах, как и с
>> круглыми скобками - можно просто убрать. Вопрос, что с более сложными.
> Скобки и точки с запятыми это всего лишь разделители, их всегда можно
> заменить на другие разделители, в т.ч. в самых сложных случаях.
>> Вы смотрели язык Genie? Это Vala (транслируется в Си) с синтаксисом Python.
> Нет, посмотрел на примеры, нечто такое и хотелось бы видеть.
>> Почему-то на нём не пишут (я не нашёл проекты), в отличие от
>> Vala.
>> Подозреваю, как раз из-за всех этих "лишних" символов.
> Достаточно упоминания гнома, чтобы отпугнуть всех желающих :)

В том-то и дело, что Vala не отпугивает. Язык прикручен к GLib, но технически можно писать без неё

> А вообще я придерживаюсь мнения что само существование высокоуровневых языков (и си
> на мой скромный взгляд первый виновник в этом преступлении) привело к
> появления потрясающего количество ошибок и неоптимальных программ по перетасовке байтиков
> (в духе преобразования из int в string, из string в unicode
> string, из unicode string в double и обратно в int) и
> собственно расцвету ада зависимостей от зависимостей. В идеале я считаю надо
> спуститься ближе к псевдоассемблеру (или условному байткоду) и постараться сохранить скорость
> разработки (частично она итак ускорится из-за устранения лишних абстракций) без запрятывания
> реализации под ковер как это делают высокоуровневые языки.

Си и есть псевдоассемблер. Некоторые ассмеблерщики его так и изучали - смотрели, в какие инструкции компилируется исходник. Другое дело, что на Си пишут в том числе и те, кто не понимает, как железо работает. Что Вы описываете, похоже на MSIL. Я даже видел человека, кто в том байткоде и кодит, без Сишарпов и Додиезов.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру