2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4  След.
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение08.02.2014, 23:39 
x51 в сообщении #824318 писал(а):
Когда каждый килобайт на счету

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

(Оффтоп)

Ну разве что в году 85-м, когда программировал немножко в машинных кодах на типа настольной ЭВМ, не помню как её звали. Но это не в счёт.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение08.02.2014, 23:48 
Аватара пользователя
ewert в сообщении #824336 писал(а):
Это очень давно и очень сильно не актуально.

Есть области, в которых это актуально до сих пор. Вы снова экстраполируете свой узкий личный опыт на всю Вселенную.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение08.02.2014, 23:51 

(Оффтоп)

Munin в сообщении #824344 писал(а):
Есть области, в которых это актуально до сих пор. Вы снова экстраполируете

Язык?...

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 00:06 
Аватара пользователя

(Оффтоп)

ewert в сообщении #824336 писал(а):
Это очень давно и очень сильно не актуально. Если же речь об обслуживании микропроцессоров -- то там речь явно не о Паскалях и не о Сях (хотя и, честно признаюсь, микропроцессоры никогда в жизни не обслуживал).


Бывает так, что используется древний МК (КР1816ВЕ1), который не имеет флешки, а приходится лепить несколько УФСППЗУ типа К573РФ2, с объемом памяти 2 кбайт, в то же время наше начальство из-за военки и какой-то еще секретной дряни запрещает использовать буржуйские компоненты, которые на порядок лучше, а также запрещает низкоуровневое программирование, типа спецы из ОБ ничего не поймут. Хотя наш институт уже не числится закрытым, но тем не менее считается радиационно-опасным объектом, поэтому так морочатся во всем.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 00:07 
Аватара пользователя

(Оффтоп)

ewert в сообщении #824348 писал(а):
Язык?...

Не знаю точно, какие там языки, но это разнообразные микроконтроллеры, встроенные устройства и прочее подобное. Раньше компьютеры были только в виде ящика на столе, а сейчас расплодились по стиральным машинам, кредитным карточкам, винчестерам в том же ящике, и датчикам в обшивке самолёта. Рынок программирования для них растёт, но вместе с тем быстро растут и возможности таких конкретных устройств. И одновременно - появляется ещё более мелкая встройка, опять крайне тесная. Насколько я понимаю, в основном там применяются ассемблеры, на чуть более высоком уровне - C и его вариации, на ещё более высоком - уже позволяют себе Java, и наконец, ещё выше - появляется свобода возможностей. Но это в общем и в среднем.


-- 09.02.2014 01:12:51 --

(Оффтоп)

x51 в сообщении #824356 писал(а):
Бывает так, что используется древний МК (КР1816ВЕ1), который не имеет флешки, а приходится лепить несколько УФСППЗУ типа К573РФ2, с объемом памяти 2 кбайт, в то же время наше начальство из-за военки и какой-то еще секретной дряни запрещает использовать буржуйские компоненты

Ну, это уже, действительно, редкость, причём локально-российская. Во всём мире мелкие страны (типа России, но не гордые) в военке используют буржуйские компоненты и не жалуются (какие-нибудь RISC-ядра с открытым кодом, которые можно хоть излазиться на предмет закладок), а большие, типа Европы и Китая, не жмотятся разработать свои на современном мировом уровне.


-- 09.02.2014 01:14:00 --

(Оффтоп)

P. S. А впрочем, кроме военки, в России особенно встройку и не программируют, спроса нет...

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 00:56 
Встроенное ПО в основном на Си пишут уж лет двадцать как.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 01:03 
Аватара пользователя

(Оффтоп)

Ну вот я про "в основном" и сказал. Причём последние лет 10 - ещё и на Java, если аппаратная часть готовую железную Java-машину предоставляет. Это быстрее и удобней, чем на Си, и иногда даже переносимей. Но дороже по аппаратным ресурсам, поэтому остаётся в более высоком секторе.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 11:09 
Аватара пользователя

(Оффтоп)

Joker_vD в сообщении #824366 писал(а):
Встроенное ПО в основном на Си пишут уж лет двадцать как.

Это если есть определенные IDE под конкретную архитектуру или если на конкретной архитектуре стоит микропроцессор с MMU и есть какая-либо операционная система, под которую и пишется софт. А если некий контроллер, для которого никакого IDE нет, так как у него уже борода и волосы седые. Кроме того контроллер без MMU и речи об ОС быть не может впринципе, если не ставить внешний и увеличивать стоимость и вероятность отказа. В этом случае спасет только программирование в машинных кодах или в целевом ассемблере. А когда это запрещают, то выручает только Сишный код, который потом жесткоко курится и рождается машинный. И да это не бред - это суровые "трудо выебудни" инженера-электронщика на моем предприятии
 !  Toucan:
См. post824523.html#p824523

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 11:26 
Аватара пользователя
Aritaborian в сообщении #824316 писал(а):
ewert в сообщении #824312 писал(а):
Это ровно Паскаль и есть. Только усложнённый за счёт ОО и визуализации;
Тут есть некоторые тонкости. Object Pascal и Delphi — немножко разные языки.
Кроме визуализации, в Delphi еще средства для многопоточности, расширения: динамические массивы, средства COM, компоненты для СУБД и т.д.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 11:40 
Аватара пользователя
Паскаль и Си языки очень похожие. И по своим возможностям равноправны.
И драйвера на паскале тоже можно писать.

По поводу скорости работы программ. Это зависит не от язык, а от компилятора. Можно выделить время, когда компиляторы паскаля отставали от компиляторов Си. Но последние 10 лет они на ровне. Алгоритмы оптимизации известны. Да и даже более того библиотеки оптимизации используют общие. Поэтому какой-то разницы нет.

Даже в то время когда компилятор отставал разница была не большая. Скажем так не более 2-х раз, а чаще всего не более 10%.

ewert в сообщении #824336 писал(а):
Это очень давно и очень сильно не актуально. Если же речь об обслуживании микропроцессоров -- то там речь явно не о Паскалях и не о Сях (хотя и, честно признаюсь, микропроцессоры никогда в жизни не обслуживал).

Не совсем так. Есть потребности в снижении энергопотребления и уменьшения размеров. К примеру в так называемых умных датчиках. Там как раз приходиться экономить.
Хотя думаю тут скорее всего не желание производителей что-то менять и выпускать более производительные и с большим объемом памяти.

А вот что касается низкоуровневом программировании, то тут только ассемблер. Хотя понятие низкий уровень растяжимое, но на самом низком лежи ассемблер. На нем написаны все стандартные библиотеки. А вот чуть выше уже идёт Си.

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


(Оффтоп)

Цитата:
Ну вот я про "в основном" и сказал. Причём последние лет 10 - ещё и на Java, если аппаратная часть готовую железную Java-машину предоставляет. Это быстрее и удобней, чем на Си, и иногда даже переносимей. Но дороже по аппаратным ресурсам, поэтому остаётся в более высоком секторе.

Не видел ни одного процессора или контролёра с аппаратной Java-машиной.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 12:04 
Pavia в сообщении #824455 писал(а):
А вот что касается низкоуровневом программировании, то тут только ассемблер. Хотя понятие низкий уровень растяжимое, но на самом низком лежи ассемблер. На нем написаны все стандартные библиотеки. А вот чуть выше уже идёт Си.

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

(2Pavia)


(2bin)

Может не стоит сравнивать наличие НЕстандартных библиотек в какой-то IDE с чистым языком?

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 12:15 
Аватара пользователя

(Оффтоп)

Pavia в сообщении #824455 писал(а):
Не видел ни одного процессора или контролёра с аппаратной Java-машиной.

Может быть товарищ имел в виду, когда имеется некоторая платформа, поддерживающая аппаратно выполнение кода на Java, например ARM Jazelle. Под которую уже существует программная Java машина на базе какой-либо операционной системы. В качестве примера можно привести Ведроид Android телефоны.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 12:20 
Аватара пользователя
Taus в сообщении #824461 писал(а):
Может не стоит сравнивать наличие НЕстандартных библиотек в какой-то IDE с чистым языком?
Cредства для многопоточности, например, это не НЕстандартные библиотеки: мьютексы и семафоры - стандарные приемы параллельного программирования вне зависимости от языка и платформы. В отличие от Delphi в С++ с этим проблемы, поэтому сделали костыль TBB.

-- Вс фев 09, 2014 12:42:03 --

Pavia в сообщении #824455 писал(а):
Паскаль и Си языки очень похожие. И по своим возможностям равноправны.
Наиболее часто называемым недостатком стандартного "Виртовского" Паскаля была слишком строгая типизация данных, из-за которой невозможно было написать, например, процедуру перемножения квадратных матриц любого размера, т.е. для матриц $10\times10$ и $20 \times 20$ приходилось делать почти одинаковые процедуры с разными заголовками. Динамические массивы, появившиеся еще в Турбо-Паскале, разрешили эту проблему. Причем общие принципы типизации не пострадали. Си изначально развивался иначе, позволяя пренебрегать типизацией почти во всех случаях, когда это заблагорассудится программисту. Эта черта, с одной стороны, упрощает кодирование, но с другой - ведет к трудноуловимым ошибкам. Есть хороший сборник статей по сравнению языков: Языки программирования Ада, Си, Паскаль, Сравнение и оценка, под. ред. А.Фьюэра, Н.Джехани, М.: Радио и связь, 1989.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 15:23 
Аватара пользователя
Pavia в сообщении #824455 писал(а):
А вот что касается низкоуровневом программировании, то тут только ассемблер. Хотя понятие низкий уровень растяжимое, но на самом низком лежи ассемблер. На нем написаны все стандартные библиотеки. А вот чуть выше уже идёт Си.

Часто на самом низком уровне никаких стандартных библиотек нет: не влезают. А вот Си - влезает.

 
 
 
 Re: В чём принципиальная разница между языками С и Паскаль?
Сообщение09.02.2014, 15:39 
Аватара пользователя
 !  x51, предупреждение за ненормативную лексику.

 
 
 [ Сообщений: 54 ]  На страницу Пред.  1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group