All streams
Search
Write a publication
Pull to refresh
-1
0

Пользователь

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

А, например, в Алгол-68 синтаксис более однозначный: между идентификаторами всегда либо ключевые слова, либо операторы, либо спецсимволы; а ключевые слова и операторы отличались от идентификаторров — не содержали пробелов и набирались в верхнем регистре, либо брались в кавычки, либо выделялись жирным шрифтом (например в печати).
Синтаксис удобный, но конкретно в этом примере структура наверное лучше подойдет.

Кстати интересно почему его не спешат в кресты добавлять, боятся усложнять парсер из-за неоднозначности с синтаксисом лямбд?
Нет, нету. tcc — компилятор, хоть у него и есть ключик -run, но tcc в этом случае просто запускает только что скомпилированную программу, bic же интерпретирует введенные строки одну за другой (хотя может там и есть промежуточная трансляция в байткод, или JIT какой-нибудь, я не смотрел, даже если да, то REPL'ом (Read Eval Print Loop) он быть не перестанет, в tcc же ничего такого нет).

Еще есть, например CINT.

Чем тут впечатляться я не знаю, С хоть местами запутанный, но довольно простой язык, разве что нужно немного изменить синтаксис чтобы разрешить строки с кодом на верхнем уровне.
#define FILE struct io_buf_t

Никогда не понимал, зачем использовать #define вместо typedef?
entry = clist_find(&file_list, file_list_by_name_detector, path, mod_rw);
    file = (struct file_t*)entry->data;
    if (entry != null) {
        return &file->io_buf;
    }
Вы обращаетесь к данным по указателю до проверки на null.

Почему вам не нравятся видеоуроки?

Кмк, формат статьи более удобен, я могу свободно перемещаться по статье глазами и скроллить, если я вдруг не въехал, я могу просто перечитать предложение еще раз, без всяких лишних действий, вдобавок в случае кода его можно без проблем копипастить.
Заголовок спойлера
В добавок я не очень люблю людей и не собираюсь слушать чей-то там бубнеж. Извините.

Формат видео очень похож на живую лекцию, но к сожалению он лишен главного ее преимущества, когда по ходу лекции можно задавать уточняющие вопросы или переспрашивать.
Это случайно не перевод? Уж слишком статья пестрит бессмысленными применениями английских терминов или даже фраз:
можем получить Latency в 25-119 clock cycles, а reciprocal throughput — 25-120.

Fraction часть числа B.

умножению на truncating with rounding up 0.1

Выглядит weird и unnaturaly.
Особенно это:
получение старших битов 64 битного произведения в C++ коде реализуется интринсиком (something like mulh)

Конечно не весь, тут приводятся основные моменты. Кому нужны простыни кода? Например не приведен исходный код функций работающих со списком задач, типа clist_insert_entry_after, task_find_by_status и пр., по названию и так понятно, что они делают, а реализация интересна только для изучающих алгоритмы работы со связными списками и тут их приводить не нужно. Кому нужны подробности идут на гитхаб.
Даже без .pyc файлов питон всегда сперва транслируется в байткод.

А в PyPy в добавок есть JIT-компиляция.
function deepClone(source) {
	return ({
		'object': cloneObject,
		'function': cloneFunction
	}[typeof source] || clonePrimitive)(source)();
}
Боже, какой паттерн матчинг )))
ФП — это когда код запутанный и непонятный, вы не знали чтоли?
</sarcasm>
Есть все, что нужно для работы с указателями: взятие адреса, разыменование, арифметика. Причем тут «скрытые приведения типов»?
Помнится, он был на Си. Зачем переписали?

А я этот язык когда-то учил (наткнулся на интерпретатор на какой-то файлопомойке), это был мой первый си-подобный язык (си я тогда не осилил). Перестал заниматься, потому что проект мне показался заброшенным.
У меня в Palemoon нет никакого WebAssembly.
В паскале это не расширение какого-то одного конкретого компилятора, а стандарт.
Мне в сях часто не хватает множеств, нормальных строк, нормального switch/case, вложенных функций и иногда возможности установить любой диапазон индексов у массива.

Красиво же:
const
  map: array ['A'..'F'] of byte = (10, 11, 12, 13, 14, 15);

или
if s[i] in ['a'..'f', 'A'..'F'] then ...
Статических массивов было достаточно разве что школьникам, когда в подпрограмму надо было передать массив заранее неизвестной длины передавали указатель, пока не появилось динамических массивов.
В этом вашем Си, в отличие от Паскаля, нет самостоятельных перечислимых типов, диапазонов, множеств, вложенных функций, вдобавок паскалевые массивы и строки знают о своей длине.

Information

Rating
Does not participate
Location
Улан-Удэ, Бурятия, Россия
Registered
Activity