2014 dxdy logo

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

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




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


11/05/08
31941
x51 в сообщении #824318 писал(а):
Когда каждый килобайт на счету

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

(Оффтоп)

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

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


30/01/06
72408
ewert в сообщении #824336 писал(а):
Это очень давно и очень сильно не актуально.

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

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


11/05/08
31941

(Оффтоп)

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

Язык?...

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


08/02/14
53
Серпухов, Россия

(Оффтоп)

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


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

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


30/01/06
72408

(Оффтоп)

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 
Заслуженный участник


09/09/10
3729
Встроенное ПО в основном на Си пишут уж лет двадцать как.

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


30/01/06
72408

(Оффтоп)

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

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


08/02/14
53
Серпухов, Россия

(Оффтоп)

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

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

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


22/09/09

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

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


31/10/08
1244
Паскаль и Си языки очень похожие. И по своим возможностям равноправны.
И драйвера на паскале тоже можно писать.

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

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

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

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

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

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


(Оффтоп)

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

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

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


27/11/10
201
Pavia в сообщении #824455 писал(а):
А вот что касается низкоуровневом программировании, то тут только ассемблер. Хотя понятие низкий уровень растяжимое, но на самом низком лежи ассемблер. На нем написаны все стандартные библиотеки. А вот чуть выше уже идёт Си.

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

(2Pavia)


(2bin)

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

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


08/02/14
53
Серпухов, Россия

(Оффтоп)

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

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

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


22/09/09

1907
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 
Заслуженный участник
Аватара пользователя


30/01/06
72408
Pavia в сообщении #824455 писал(а):
А вот что касается низкоуровневом программировании, то тут только ассемблер. Хотя понятие низкий уровень растяжимое, но на самом низком лежи ассемблер. На нем написаны все стандартные библиотеки. А вот чуть выше уже идёт Си.

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

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


19/03/10
8952
 !  x51, предупреждение за ненормативную лексику.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, maxal, Toucan, PAV, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group