Re[8]: 10 причин, чтобы изучать C
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.12.06 17:34
Оценка:
Здравствуйте, astral_marine, Вы писали:

_>Современными языками я считаю С++, Java, C#, VB.NET, Delphi/Pascal, PHP, Perl, JavaScript и может еще пару других, если хорошенько подумать и вспомнить.


Perl, PHP — есть влияние, но никак не "основаны на"! То же самое про VB, Pascal (во всех вариантах). Отдельные элементы влияния — никак не основание. Так что из данного набора подходят разве что C++, C# и Java.
Кстати, ECMAScript (часто называемый JavaScript) сюда тоже относится чисто синтаксически.

_>Здесь много зависит от самого определения "современный язык программирования". Лично я не считаю такие языки как Кобол, Алгол, Фортран, Паскаль и Лисп современными, хотя уверен что найдутся тысячи программистов, которые пишут на них сейчас.

_>Поставлю встречный вопрос. Может вам известны современные языки, не основанные на Си?

Python. Tcl. Ruby. Ada. Эти вообще никоим боком к Си.
The God is real, unless declared integer.
Re[9]: 10 причин, чтобы изучать C
От: Alexey Chen Чили  
Дата: 05.12.06 18:12
Оценка:
Здравствуйте, netch80, Вы писали:
_>>Поставлю встречный вопрос. Может вам известны современные языки, не основанные на Си?
N>Python. Tcl. Ruby. Ada. Эти вообще никоим боком к Си.

Ну разве что первые три на нём написанны
Re[10]: 10 причин, чтобы изучать C
От: Андрей Хропов Россия  
Дата: 05.12.06 19:22
Оценка:
Здравствуйте, Alexey Chen, Вы писали:

AC>Здравствуйте, netch80, Вы писали:

_>>>Поставлю встречный вопрос. Может вам известны современные языки, не основанные на Си?
N>>Python. Tcl. Ruby. Ada. Эти вообще никоим боком к Си.

AC>Ну разве что первые три на нём написанны

Язык не может быть написан на другом языке. Реализация языка может быть написана на другом языке.
Так вот, распространенные реализации Python, Tcl и Ruby написаны на С. Но есть и альтернативные (IronPython,Jython,JRuby,RubyCLR, например).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: 10 причин, чтобы изучать C
От: Зверёк Харьковский  
Дата: 05.12.06 21:08
Оценка: +3 :)))
_>Поставлю встречный вопрос. Может вам известны современные языки, не основанные на Си?

Чувак, ты попал (это не попытка оскорбить. участники форума, знающие, чем я сейчас занимаюсь, поймут сарказм)

Загибай пальцы.
Erlang, Ocaml, Haskell (и еще десятки функциональных)
Python, Ruby, Groovy, REXX, Lua, Tcl (и еше десятки "современных скриптовых")
Nemerle, F#, Boo, Scala, C-omega (и еще десятки "продвинутых" языков-симбионтов платформ .Net и Java)
Smalltalk, Self (и куча их производных)
Scheme, Common Lisp, Qi (и еще десятки производных Лиспа)
Io, Dylan, Oz,
Links, Hop (и другие языки для "нового веба")
J, K (и, кажется, есть еще языки-производные "Notation as a tool of thought")
чуть Prolog не забыл
семейство языков Вирта — производные Оберонов

(а так же различные шеллы, постскрипт, DSL от SQL/XML и их производных до каких-нито там VHDL)

PS: если смотреть на мир через замочную скважину, это не сужает мира до размеров замочной скважины.
FAQ — це мiй ай-кью!
Re[9]: 10 причин, чтобы изучать C
От: Cyberax Марс  
Дата: 05.12.06 22:50
Оценка: :))) :))
Зверёк Харьковский wrote:
> /Чувак, ты попал/ (это *не* попытка оскорбить. участники форума,
> знающие, чем я сейчас занимаюсь, поймут сарказм)
А как же родной Brainfuck??? Как ты мог забыть!
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[9]: 10 причин, чтобы изучать C
От: astral_marine  
Дата: 06.12.06 10:05
Оценка: -5 :))) :))
Здравствуйте, Зверёк Харьковский, Вы писали:

_>>Поставлю встречный вопрос. Может вам известны современные языки, не основанные на Си?


ЗХ>Загибай пальцы.

ЗХ>Erlang, Ocaml, Haskell (и еще десятки функциональных)
ЗХ>Python, Ruby, Groovy, REXX, Lua, Tcl (и еше десятки "современных скриптовых")
ЗХ>Nemerle, F#, Boo, Scala, C-omega (и еще десятки "продвинутых" языков-симбионтов платформ .Net и Java)
ЗХ>Smalltalk, Self (и куча их производных)
ЗХ>Scheme, Common Lisp, Qi (и еще десятки производных Лиспа)
ЗХ>Io, Dylan, Oz,
ЗХ>Links, Hop (и другие языки для "нового веба")
ЗХ>J, K (и, кажется, есть еще языки-производные "Notation as a tool of thought")
ЗХ>чуть Prolog не забыл
ЗХ>семейство языков Вирта — производные Оберонов
ЗХ>(а так же различные шеллы, постскрипт, DSL от SQL/XML и их производных до каких-нито там VHDL)

Prolog, Lisp, еще называли Ada ...

Эти языки либо существуют лишь в лабораторных условиях, либо умеют узкую специализацию и/или используются узким классом специалистов.
В моем понимании они не являются полноценными ЯП и тем более не входят в понятие "современный язык программирования".
Re[10]: 10 причин, чтобы изучать C
От: Зверёк Харьковский  
Дата: 06.12.06 10:11
Оценка:
Здравствуйте, astral_marine, Вы писали:

_>Здравствуйте, Зверёк Харьковский, Вы писали:


_>>>Поставлю встречный вопрос. Может вам известны современные языки, не основанные на Си?


ЗХ>>Загибай пальцы.

ЗХ>>Erlang, Ocaml, Haskell (и еще десятки функциональных)
ЗХ>>Python, Ruby, Groovy, REXX, Lua, Tcl (и еше десятки "современных скриптовых")
ЗХ>>Nemerle, F#, Boo, Scala, C-omega (и еще десятки "продвинутых" языков-симбионтов платформ .Net и Java)
ЗХ>>Smalltalk, Self (и куча их производных)
ЗХ>>Scheme, Common Lisp, Qi (и еще десятки производных Лиспа)
ЗХ>>Io, Dylan, Oz,
ЗХ>>Links, Hop (и другие языки для "нового веба")
ЗХ>>J, K (и, кажется, есть еще языки-производные "Notation as a tool of thought")
ЗХ>>чуть Prolog не забыл
ЗХ>>семейство языков Вирта — производные Оберонов
ЗХ>>(а так же различные шеллы, постскрипт, DSL от SQL/XML и их производных до каких-нито там VHDL)

_>Prolog, Lisp, еще называли Ada ...


_>Эти языки либо существуют лишь в лабораторных условиях, либо умеют узкую специализацию и/или используются узким классом специалистов.

_>В моем понимании они не являются полноценными ЯП и тем более не входят в понятие "современный язык программирования".

Последняя фраза относилась только к Lisp, Prolog и Ada, или ко всем перечисленным мной языкам?
FAQ — це мiй ай-кью!
Re[11]: 10 причин, чтобы изучать C
От: astral_marine  
Дата: 06.12.06 11:02
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>Последняя фраза относилась только к Lisp, Prolog и Ada, или ко всем перечисленным мной языкам?


Ко всем
Re[12]: 10 причин, чтобы изучать C
От: Зверёк Харьковский  
Дата: 06.12.06 11:04
Оценка: +1 :)
Здравствуйте, astral_marine, Вы писали:

ЗХ>>Последняя фраза относилась только к Lisp, Prolog и Ada, или ко всем перечисленным мной языкам?


_>Ко всем


Убиться веником.
FAQ — це мiй ай-кью!
Re[13]: 10 причин, чтобы изучать C
От: astral_marine  
Дата: 06.12.06 11:47
Оценка:
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Убиться веником.
Попросил бы не флеймить. Было высказано мое личное мнение и вы не имеете никакого морального права насильно принуждать меня думать иначе.


Теперь по сути.
Хорошо, возмем вашу точку зрения. Т.е. современный язык программирования — это тот, на котором хоть кто-то сейчас пишет.
Тогда выходит что автор всего лишь использовал гиперболу говоря "все современные языки основаны на Си".
И думаю, что тогда правильней было бы говорить "все популярные современные языки основаны на Си" или "86% программистов пишут на языке программирования, который основан на Си".

Последняя цифра взята их рейтинга популярности языков:
http://www.freelancer.com.ua/programming-languages/2006/08/04/
Re[14]: 10 причин, чтобы изучать C
От: Зверёк Харьковский  
Дата: 06.12.06 12:04
Оценка: +5
Здравствуйте, astral_marine, Вы писали:

ЗХ>>Убиться веником.

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

Я кого-то насильно к чему-то принуждал? Я высказал свою эмоциональную оценку личного мнения.

_>Теперь по сути.

_>Хорошо, возмем вашу точку зрения. Т.е. современный язык программирования — это тот, на котором хоть кто-то сейчас пишет.
_>Тогда выходит что автор всего лишь использовал гиперболу говоря "все современные языки основаны на Си".
_>И думаю, что тогда правильней было бы говорить "все популярные современные языки основаны на Си" или "86% программистов пишут на языке программирования, который основан на Си".

_>Последняя цифра взята их рейтинга популярности языков:

_>http://www.freelancer.com.ua/programming-languages/2006/08/04/

Слушай, мне лень, честно говоря.
Суть даже не в том, что флеймы на тему "какой язык считать популярным" тыщу раз уже были. (Из перечисленных мною выше как минимум Python, Ruby, Erlang, OCaml производные Lisp и Smalltalk имеют весьма обширные коммьюнити).

Суть в том, что определение "язык, которых сегодня использует <ваша цифра>% программистов" как определение языка значимого и современного я считаю ублюдочным. И это — мое личное мнение.
FAQ — це мiй ай-кью!
Re[15]: 10 причин, чтобы изучать C
От: astral_marine  
Дата: 06.12.06 12:12
Оценка: -7 :)
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Слушай, мне лень, честно говоря.

Слив засчитан.

Я высказал свою эмоциональную оценку личного мнения.
Re[4]: 10 причин, чтобы изучать C
От: Klapaucius  
Дата: 06.12.06 13:48
Оценка: +3
Здравствуйте, astral_marine, Вы писали:

_>

all modern programming languages are based on C

_>По словам Страуструпа и не только (это очевидно) С++ основан на С.
_>Java основывается на C++, а значит и на С + сборщик мусора, полная межплатформенность и куча прочих фич.
_>C# основан на идеях Java, C++, Basic и Delphi, а значит частично и на С.
_>В инете есть диаграммы развития языков и там четко прослеживается связь всех современных языков с С.

А теперь мое личное мнение. Лично я знаю только про два языка "based on C". Это Objective-C (насколько я помню, это надмножество, хотя насчет C99 не уверен) и C++ (опять таки C99 — так что с некоторой натяжкой).
Вот и все.

Причем ни тот, ни другой, с моей точки зрения, современным не является. То, что я понимаю, когда говорю "современный язык" растолковывается здесь
Автор: Klapaucius
Дата: 03.10.06
.

При большом желании можно приписать к этому списку еще и Cyclone. Но это уж при очень большом.

C# и Java ни концептуально, ни идеологически не имеют с C ничего общего. Общий у них только синтаксис, да и то с исключениями.
Более того, мое личное мнение заключается еще и в том, что знание C программисту на этих языках ничего не дает, кроме, разве что, вредных привычек, которые придется преодолевать.

Я уж не говорю про остальные современные языки. Распространенность-нераспространенность языков к делу не относится. К тому же, на то они и современные (modern), что их распространение пока еще не велико.

Таким образом, я считаю, что на С не основан практически ни один из современных языков, что во-первых понятно, а во-вторых не может не радовать.
Однако, языки с c-like синтаксисом, действительно, распространены в настоящее время. Ну так что с того?
... << RSDN@Home 1.2.0 alpha rev. 655>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[4]: 5 причин, чтобы забыть C
От: Awaken Украина  
Дата: 23.08.07 22:53
Оценка:
>>> Ребята, вы когда-нибудь видели исходники windows?
C>>Целиком — нет. Драйверов — кучу.

N>Исходники NT4 в принципе спокойно бродят вроде полные. Я читал — прикольно, хотя ужасно неровно.


у меня были от W2K
там ниче особо интересного — обычный сишный код, с кучей гигантских свичей, и переходов (ненавистникам goto убиться об стену )
был код и на С++, но написанный чрезвычайно просто и понятно, без всяких там шаблонных изврашений и STL, т.е. в стиле "Си с классами"
это тоже имеет свою причину — у MS такие требования к саппорту
Re[5]: 10 причин, чтобы изучать C
От: c-smile Канада http://terrainformatica.com
Дата: 24.08.07 06:17
Оценка: -2 :))
Здравствуйте, Курилка, Вы писали:

К>Каким образом, допустим Ocaml based on C


Самым непосредственным — он на нем написан. И compiler и VM.
Re[6]: 10 причин, чтобы изучать C
От: Klapaucius  
Дата: 24.08.07 09:19
Оценка:
Здравствуйте, c-smile, Вы писали:

К>>Каким образом, допустим Ocaml based on C

CS>Самым непосредственным — он на нем написан. И compiler и VM.

Смешно. Ocaml написан на французском языке и (E)BNF. А компилятор (фронтэнд) на *ml. И основан он на ML, а не на C.
... << RSDN@Home 1.2.0 alpha rev. 723>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[4]: 5 причин, чтобы забыть C
От: Mamut Швеция http://dmitriid.com
Дата: 24.08.07 11:18
Оценка:
FR>>Ну и еще можно использовать языки на платформе java или net.

s-y>java n net тоже хорошо только такой винигрет будет уж очень много памяти пользовать, да и изучать их помоему ничуть не проще чем c.


Есть такой сайт myspace.com. Они вообще Coldfusion использовали. Потом его стало не хватать, они начали переползать на .Net. В процессе переползания те части сайта, что пока не переведены на .Net, работают на BlueDragon.NET, приблудине, позволяющей использовать Coldfusion на .net И ничего, справляются (инфа отсюда).

Вообще, как показывает сайт High Scalability, память является большой, но далеко не самой главной проблемой.


dmitriid.comGitHubLinkedIn
Re[7]: 10 причин, чтобы изучать C
От: c-smile Канада http://terrainformatica.com
Дата: 24.08.07 19:28
Оценка:
Здравствуйте, Klapaucius, Вы писали:

K>Здравствуйте, c-smile, Вы писали:


К>>>Каким образом, допустим Ocaml based on C

CS>>Самым непосредственным — он на нем написан. И compiler и VM.

K>Смешно. Ocaml написан на французском языке и (E)BNF. А компилятор (фронтэнд) на *ml. И основан он на ML, а не на C.


А ML на чем написан?

Для справки: http://www.dina.kvl.dk/~sestoft/mosml.html
Re[8]: 10 причин, чтобы изучать C
От: Klapaucius  
Дата: 25.08.07 10:42
Оценка: +3
Здравствуйте, c-smile, Вы писали:

CS>А ML на чем написан?


Не на C. На C спецификации языков вообще-то не пишут.

CS>Для справки: http://www.dina.kvl.dk/~sestoft/mosml.html


И что? Это реализация Standard ML, написанная на SML (рантайм, естественно, на C).

Речь то идет не о том, на чем написан язык программирования или его реализации, а о том, как дизайн одного языка повлиял на другой.
OCaml — современный язык. Он основан на ML, точно также как Alice и F#. ML — не основан на C. Во-первых это следует из его дизайна, а во вторых из того, что появился он примерно тогда же, когда и C.

А рассуждения о том, что язык Y основан на языке X потому, что есть реализация спецификации Y, написанная на X легко сводятся к абсурду. Допустим, у нас есть компилятор OCaml, написанный на C и компилятор C, написанный на OCaml. Ну и что на чем основывается?
... << RSDN@Home 1.2.0 alpha rev. 721>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[8]: 10 причин, чтобы изучать C
От: z00n  
Дата: 25.08.07 16:21
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, Klapaucius, Вы писали:


K>>Здравствуйте, c-smile, Вы писали:


К>>>>Каким образом, допустим Ocaml based on C

CS>>>Самым непосредственным — он на нем написан. И compiler и VM.

K>>Смешно. Ocaml написан на французском языке и (E)BNF. А компилятор (фронтэнд) на *ml. И основан он на ML, а не на C.


CS>А ML на чем написан?


CS>Для справки: http://www.dina.kvl.dk/~sestoft/mosml.html


C mosml вообще все просто, это VM и рантайм от caml-light(C) + компилятор написанный на mosml. Как он бутсрэппился в первой версии я точно не знаю, но скорее всего c помощью caml-light же.
SMLNJ написан на SML, а его бэк-энд — результат проекта MLRISC — т.е. не C никаким боком.

Первая версия VM осамл (Zinc) существовала в версии написанной на чистом ассемблере(для 68000). Сейчас компилятор окамла эммитит ассемблер, полученый трансляцией байткода VM — без всякого промежуточного C.

Короче:
— компиляторы всех современных функциональных языков (Haskell, Ocaml, Smlnj, mosml, Mlton, Clean) написаны на них самих.
— виртуальные машины написаны как правило на C, но есть много исключений: ChezScheme(кстати, самая быстрая схема и самая быстрая VM), Scheme48 (наверняка есть еще много, но я перечисляю по памяти).
— бэк-энд — есть варианты: ассемблер, C, GNU(не С, бэк-энд), LLVM, MLRISC, С--(даже близко не С). Хорошего варианта нет — выбирают наименьшее зло.
— рантайм — часто пишут на С но никакой принципиальной необходимости в этом нет, можно, например, на LLVM написать.

Ко всему этому есть еще лисп, который появился лет на 15 раньше C, и с тех пор благополучно компилируется и интерпретируется без всякой посторонней помощи.
Есть еще Forth, к которому, все причиндалы, зачастую, пишут на ассемблере.
Еще есть паскаль, который тоже не C.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.