Неплохая попытка,GOTO

Неплохая попытка,GOTO IT, IT юмор, Комиксы, Программирование

IT-юмор

5.6K пост52.4K подписчиков

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
62
Автор поста оценил этот комментарий
Иллюстрация к комментарию
раскрыть ветку (15)
21
Автор поста оценил этот комментарий

Вместо C++ там можно поставить еще Ruby и Python :)

раскрыть ветку (14)
7
Автор поста оценил этот комментарий

Тут тонкость в том, что код C++ переводится компилятором в код C, а код C генерирует соответствующий ассемблерный код. Отсюда и эффективность. То есть, программируя на плюсах в конечном счете вы пишете на ассемблере.

раскрыть ветку (13)
28
Автор поста оценил этот комментарий

Да с хера ли? Компилятор генерит код в машкодах, а не на каком не на ассемблере. Ассемблер это ЧЕЛОВЕКОЧИТАЕМОЕ представление машинных кодов, но смысла переводить C в ассемблер нет никакого.

раскрыть ветку (9)
7
Автор поста оценил этот комментарий

Язык C по сути есть как бы машинонезависимый ассемблер. Есть даже флаги компиляторов, по пямяти не скажу, по которым кроме бинарников компилятор сохранит вам .asm файлы вашего кода.

ещё комментарии
4
DELETED
Автор поста оценил этот комментарий

Я не спец в вопросе, на самом деле, но вы сказанули редкостную глупость.


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


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


В общем, поинтересуйтесь вопросом, прежде чем публично такие глупости произносить. Вот рандомная статья, например. https://habr.com/sandbox/114988/

раскрыть ветку (4)
1
Автор поста оценил этот комментарий
Да, под каждый процессор в первую очередь делается асм и Си, а потом уже, по необходимости, остальные компиляторы.
3
DELETED
Автор поста оценил этот комментарий

Ну и, естественно, после первого комментария сразу кидает в игнор. Женщины...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

2
Автор поста оценил этот комментарий

Может потому, что ты не специалист, то и не стоило хрень писать? Публично. Во-первых, компиляторы пишутся с оптимизацией на КАЖДЫЙ процессор, с учетом его архитектуры. Даже с учётом различий i7 - Core i5 - Ryzen и тд. Так как есть нюансы управления кэшом, специфичные команды и тд. То есть твоё «предлагаете для каждой модели писать компилятор» - редкостная хрень. Во-вторых, десятки языков компилируют напрямую в машкода. Помимо gcc из статьи есть MS Visual Studio, есть Borland C++, C++ Builder, Intel C++ , десятки их. В третьих - все программы сначала пишет человек, потом их исполняет машина, написать генерацию машкодов не сложнее текстовых инструкций на асме. Блин, я программист хер знает сколько лет, спорить со мной?

Автор поста оценил этот комментарий
Нет, сейчас это не так. То была первая версия плюсов, тогда называлась Си с объектами и была сделана Бьярни на коленке. Современные плюсы идут сразу в асм.
Автор поста оценил этот комментарий

Я тебе сейчас открою небольшой секрет: всё переводится в асм. Даже высер нуба на джаваскрипте.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Нет, тот исполняется интерпретатором либо сразу идёт в машинные коды. Никто из явалвижков не таскает с собой транслятор асма.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку