Author Topic: Имбецилы  (Read 20030 times)

0 Members and 1 Guest are viewing this topic.

Offline Triton

  • Posts: 5744
Reply #50 on: November 11, 2009, 19:34
Ещё вчера я вон, набыдлокодил макросы для быстрого протипирования классов (а то много ручной работы выходит).
Угу, Си и Си++ прямо таки замечательные языки: сначала программист пишет свою реализацию ООП, свой тип данных для строк, свой механизм управления памятью, свой RTTI... а потом берёт другой язык, и приступает таки к решению поставленной задачи.

Молиться, поститься и слушать радио Ватника

Offline arseniiv

  • Posts: 14931
    • ::
Reply #51 on: November 11, 2009, 20:18
Я вам и говорю: Delphi, переделанный синтаксисом под Си! Мне бы такой язык жутко понравился. ;D Нет-нет, не пинайте меня. А можно ещё сделать другой язык.
Кстати, насколько быстро работает преобразователь текста вместе с компилятором? Свой собственный компилятор всё же не очень легко написать.

Offline myst

  • Posts: 35581
Reply #52 on: November 11, 2009, 21:51
Да-а, что самое забавное, ДВУХпроходные компиляторы зачастую компилируют быстрее, чем ОДНОпроходные сишные.
У тебя и пруфы есть? :eat:

Reply #53 on: November 11, 2009, 21:53
О да, называйте меня садомазером :D
As you wish. ;)

Reply #54 on: November 11, 2009, 21:55
Кстати, насколько быстро работает преобразователь текста вместе с компилятором?
А?

Offline arseniiv

  • Posts: 14931
    • ::
Reply #55 on: November 11, 2009, 22:03
Ну, синтаксис вида си преобразуется к другому желаемому и тем компилятором обраба...

Offline Triton

  • Posts: 5744
Reply #56 on: November 11, 2009, 22:06
Я вам и говорю: Delphi, переделанный синтаксисом под Си! Мне бы такой язык жутко понравился. ;D Нет-нет, не пинайте меня.
Object Pascal... увольте.) Для прикладных задач всегда Java, Ruby, Tcl...

А можно ещё сделать другой язык.
А можно сделать свою ОС... Да куда там - свою аппаратную платформу! Вот только зачем? :eat:
Есть конечно маньяки вроде меня, которым этот процесс интересен сам по себе...  :D

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

Offline myst

  • Posts: 35581
Reply #57 on: November 11, 2009, 22:09
Ну, синтаксис вида си преобразуется к другому желаемому и тем компилятором обраба...
Это компилятор и есть, трансляция не обязательно в машинный код делается.

Reply #58 on: November 11, 2009, 22:13
Пока Гринь бороздит просторы препроцессора C, старики сражаются со змием окаянным, C++. Подробности. Реинкарнация Limbo, не иначе. :)

Offline Triton

  • Posts: 5744
Reply #59 on: November 11, 2009, 22:15
Ну, синтаксис вида си преобразуется к другому желаемому и тем компилятором обраба...
Это компилятор и есть, трансляция не обязательно в машинный код делается.
Студенты такой компилер на 3-м курсе пишут  :yes:
Молиться, поститься и слушать радио Ватника

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24115
  • Gender: Male
Reply #60 on: November 13, 2009, 00:15
Угу, Си и Си++ прямо таки замечательные языки: сначала программист пишет свою реализацию ООП, свой тип данных для строк, свой механизм управления памятью, свой RTTI... а потом берёт другой язык, и приступает таки к решению поставленной задачи.
А другие отчего-то или медленные, или памяти жрут немерено.

GNU костылит Vala, со стороны годный язычок, но не пробовал ещё. Из минусов — привязка к GTK, которая выльется в 8 МБ (ЕМНИП) балласта под Windows.

Пока Гринь бороздит просторы препроцессора C, старики сражаются со змием окаянным, C++. Подробности. Реинкарнация Limbo, не иначе
ЛОР почитываем, в курсе. goto в списке «фич» веселит
肏! Τίς πέπορδε;

Offline Triton

  • Posts: 5744
Reply #61 on: November 13, 2009, 01:09
Как-то мы поменялись местами, теперь вы Си++ более защищаете, а я более на него нападаю.  :)

А другие отчего-то или медленные, или памяти жрут немерено.
Медленные... А куда торопиться-то? ;) Посмотрите на приложения, которые у вас обычно запущены в системе — 99.9% процентов времени они проводят в ожидании порции данных из потока или сообщения от оконной подсистемы. Ну будут они на обработку данных тратить пусть даже в 10, в 20 раз больше времени — никто не заметит.
Бредовость идеи писать полноценное веб-приложение на Си очевидна всем, но в то же время идея писать на Си (пусть даже и приплюснутом) текстовый редактор, чат или графическую морду к чему угодно воспринимается нормально. Хотя по сути это вещи одного порядка.
Статически типизированный язык с эффективным оптимизирующим компилятором нужен только в определённых нишах: ядро ОС, драйвера, СУБД, медиакодеки, библиотеки сжатия или шифрования и т.п. В других случаях использование Си ничем не оправдано, кроме "писали по-старинке 20 лет, и дальше будем писать".
И то в своей нише Си хорош только там, где нужно уж совсем низкоуровневые и системные вещи писать, благодаря тому, что у него практически отсутствуют требования к runtime окружению. В более высокоуровневых областях уже играют роль внеязыковые факторы, а не мнимые преимущества самого языка.


GNU костылит Vala, со стороны годный язычок, но не пробовал ещё. Из минусов — привязка к GTK, которая выльется в 8 МБ (ЕМНИП) балласта под Windows.
Заглянул в википедию:
Quote
Vala — язык программирования, предназначенный для прикладного и системного программирования на основе библиотек GLib Object System (GObject) рабочей среды GNOME/GTK+. Он был разработан Йюргом Биллетером и Раффаэле Сандрини.

Vala по своему синтаксису очень похож на C# и полностью реализует объектно-ориентированный подход. Программа на языке Vala транслируется в программу на языке C, которая в свою очередь компилируется в бинарный код целевой платформы со стандартными библиотеками C и GTK+ и выполняется со скоростью нативного приложения C.
"Язык... на основе библиотеки" и "транслируется в программу на языке C" - этапять, как говорится.
Сразу хочется спросить у авторов. Зачем оно такое? Какие проблемы, стоящие перед другими языками, оно решает? Какие имеет преимущества? Какую нишу планирует занять?
Или разработчикам просто хочется изобрести свой собственный С#, Java или Object Pascal?  :what:
Молиться, поститься и слушать радио Ватника

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24115
  • Gender: Male
Reply #62 on: November 13, 2009, 01:39
Чтобы сразу было всем понятно: я перфекционист (т.е. имбецил).

Медленные... А куда торопиться-то? ;)
Чисто российский менталитет. Сожрём то, что дадут, и не подавимся. Мне есть куда торопиться, да и не только мне: погуглите «Windows тормозит».

Бредовость идеи писать полноценное веб-приложение на Си очевидна всем
Мне не очевидна :) Расскажите подробнее.

"Язык... на основе библиотеки" и "транслируется в программу на языке C" - этапять, как говорится.
Я не телепат, ваших суеверий не знаю. Что не так?

"Язык... на основе библиотеки" — о да, язык с синтаксисом, но без словаря — это мегакруто! :)

"транслируется в программу на языке C" — поддерживаю на 100%. Вместо того, чтобы писать кривой компилятор или фронтенд под какой-то определённый, лучше всегда в промежуточный си курочить. А там уже и все бинарные оптимизации будут, и поддержка 100% платформ, и бесшовная соместимость с существующими 99.9% C-based API.

Или разработчикам просто хочется изобрести свой собственный С#, Java или Object Pascal?  :what:
Не, они тормозят. Валу специально делают для написания gtk-софта, работающего со скоростью си. Обычно его и пишут на си, но на си получается слишком много ручной писанины. А тут ещё автоматическая работа с памятью, но без сборщика мусора, а на основе подсчёта ссылок + выхода/невыхода из области видимости. Прямо как то, о чём я мечтал :)

Какие проблемы, стоящие перед другими языками, оно решает?
Скорость, родное понимание GTK, отсутствие рукоблудия.

Она мне импонирует потому, что в правильную сторону смотрят мужики. Авось от привязки к GTK освободятся и налисапедят своё. А без привязки к GTK это будет практически идеал :)
肏! Τίς πέπορδε;

Offline myst

  • Posts: 35581
Reply #63 on: November 13, 2009, 01:51
И то в своей нише Си хорош только там, где нужно уж совсем низкоуровневые и системные вещи писать
Кабы Си обладал совсем уж низкоуровневыми возможностями. ;)

Reply #64 on: November 13, 2009, 01:52
Не, они тормозят.
Object Pascal тормозит?

Reply #65 on: November 13, 2009, 01:54
Да-а, что самое забавное, ДВУХпроходные компиляторы зачастую компилируют быстрее, чем ОДНОпроходные сишные.
У тебя и пруфы есть? :eat:
Вижу, пруфов таки нет.

Reply #66 on: November 13, 2009, 01:55
Только сейчас заметил. Это сишные компиляторы-то однопроходные? :o :o :o

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24115
  • Gender: Male
Reply #67 on: November 13, 2009, 02:24
Только сейчас заметил. Это сишные компиляторы-то однопроходные? :o :o :o
А зачем тогда forward declarations?
肏! Τίς πέπορδε;

Reply #68 on: November 13, 2009, 02:29
Quote
struct A
{
    struct B b;
};

struct B
{
    struct A a;
};

А теперь объясни, почему он пишет:

Quote
error: field ‘b’ has incomplete type

В два прохода разрешение результирующего размера делается запросто.
肏! Τίς πέπορδε;

Offline Triton

  • Posts: 5744
Reply #69 on: November 13, 2009, 10:40
Quote
struct A
{
    struct B b;
};

struct B
{
    struct A a;
};
  :uzhos:
Вы сами-то поняли, что написали?
Молиться, поститься и слушать радио Ватника

Reply #70 on: November 13, 2009, 11:13
Чисто российский менталитет. Сожрём то, что дадут, и не подавимся. Мне есть куда торопиться, да и не только мне: погуглите «Windows тормозит».
Тормознутость программы в наименьшей степени зависит от языка реализации. Если, скажем, в алгоритме стоит квадратичная зависимость времени работы или требуемой памяти от объема входных данных, то какой там будет дополнительно множитель - 1 или 20 - уже абсолютно без разницы.
Вон в Virtual Box открытие окна настроек тормозит по 5, а когда и по 10 секунд. В установщике Suse окно конфигурации тормозит как проклятое. Неужели в обоих случаях пайтон виноват? ;)

"Язык... на основе библиотеки" — о да, язык с синтаксисом, но без словаря — это мегакруто! :)
Не так давно вы хвалили Си и порывались писать собственный ООП слой на макросах (изобретать синтаксис). В Си очень и очень маленький словарь стандартной библиотеки (а в freestanding варианте - и вовсе почти весь отсутствует).
В общем, опять взаимоисключающие параграфы.

Не, они тормозят. Валу специально делают для написания gtk-софта, работающего со скоростью си. Обычно его и пишут на си, но на си получается слишком много ручной писанины. А тут ещё автоматическая работа с памятью, но без сборщика мусора, а на основе подсчёта ссылок + выхода/невыхода из области видимости. Прямо как то, о чём я мечтал :)
Знаете, сколько уже таких языков... Начиная от академически строго Cyclone, через простую как пень Java и "философский" D и заканчивая десятком поделок на основе dotNET.
Что мешает сделать gtk-биндинг для любого языка (собственно, они и есть для многих языков) и не изобретать велосипед?
Молиться, поститься и слушать радио Ватника

Reply #71 on: November 13, 2009, 11:22
И то в своей нише Си хорош только там, где нужно уж совсем низкоуровневые и системные вещи писать
Кабы Си обладал совсем уж низкоуровневыми возможностями. ;)
А каких именно не хватает, по вашему мнению?
Молиться, поститься и слушать радио Ватника

Reply #72 on: November 13, 2009, 11:52
Только сейчас заметил. Это сишные компиляторы-то однопроходные? :o :o :o
А зачем тогда forward declarations?
forward declarations присутствуют by design. Если вы имеете ввиду многопроходный анализ семантики программы, то в Си++ этого добра выше крыши, благодаря неоднозначности грамматики. Даже имея перед собой полный набор классов и шаблонов, компилятор зачастую просто вынужден гадать на кофейной гуще, что за конструкция перед ним. И жутко тормозить.
http://yosefk.com/c  fqa/defective.html


Молиться, поститься и слушать радио Ватника

Offline myst

  • Posts: 35581
Reply #73 on: November 13, 2009, 13:39
А зачем тогда forward declarations?
...
Это ещё не значит, что они однопроходные. Назови конкретные компиляторы.

Reply #74 on: November 13, 2009, 13:42
А каких именно не хватает, по вашему мнению?
http://lingvoforum.net/index.php/topic,20180.msg402247.html#msg402247
Обсуждение там как-то не заладилось. :)

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Note: this post will not display until it's been approved by a moderator.
Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: