Перейти к содержанию
    

Лучше привычек не вырабатывать вовсе.

Они вырабатываются независимо от желания человека.

 

Я не говорю конкретно о паскале, я говорю в общем.

Так я тоже не о паскале а о читаемости кода в силу привычки.

В качестве иллюстрации пример из С двух вариантов оформления:

первый_блок{
   код
   второй_блок{
      код
      третий_блок{
         код 
      }
   }
}

и

первый_блок
{
   код
   второй_блок
     {
        код
        третий_блок
          {
             код 
          }
    }
}

Одно и тоже, но один из них из-за привычки легче читается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Они вырабатываются независимо от желания человека.

Зато можно этому препятствовать.

Тут конечно от желания зависит. Если у Вас стоит цель устроиться на работу и выполнять задачи одного скажем так класса, на одном конкретном языке, фреймворке, стиле итд, до конца своих дней - тогда привычки только в пользу.

А если хотите быть "универсальным" программистом, быстро адаптироваться под новомодные тренды, тогда привычки нужно давить на корню - писать на разных языках, в разном стиле, на разных инструментах, платформах итд. Тогда любой код будете одинаково нормально читать(и писать), без всяких студий, подсветок синтаксиса итд, в обычном консольном текстовом редакторе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И почему это C правильная, а Паскаль - нет, потому что все привыкли к С? Я не говорю конкретно о паскале, я говорю в общем.

Программировал на разных языках. Си изучил одним из последних. Так вот считаю что си это лучшее, на много лучшее на чём мне приходилось программировать. До си я больше всего пользовался паскалём\делфи. Даже раньшн занимался репетиторством по паскалю. На паскале я больше программировать не хочу. Вспоминаю его с отвращением. На си код получается на много красивее и понятнее. Программировать на си на много быстрее. К тому же много языков подобны си.

Строгая типизация паскаля затрудняет решение многих алгоритмических задач. У си типизация мягкая. У си много преимуществ, а вот преимуществ паскаля я не знаю хоть и написал на нём строк кода даже наверно больше чем на си.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно уметь программировать, а на чем - это уже дело случая.

Это несомненно, но все же надо и понимать, на чем программировать не надо :).

 

 

Одно и тоже, но один из них из-за привычки легче читается.

Форматирование в привычный вид делается автоматически. И это действительно надо делать, если предстоит серьезная работа с чужими "неправильно" отформатированными исходниками. Худо, только, если когда больные на голову авторы языка начинают требовать абсолютно жесткого выполнения надуманных правил.

 

 

Тогда любой код будете одинаково нормально читать(и писать), без всяких студий, подсветок синтаксиса итд, в обычном консольном текстовом редакторе.

Ну и зачем заниматься такой ерундой в "обычном редакторе", когда под языки уже, как лет 30 c гаком все настраивается в тоже ОБЫЧНЫХ текстовых редакторах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вот считаю что си это лучшее, на много лучшее на чём мне приходилось программировать.

Есть гораздо более продвинутые и безопасные языки, чем С. Для нынешних задач С практически умер. Плюсы его заменяют полностью. Нужен он только для поддержки legacy кода и legacy-программистов :), новый код желательно писать на других языках, дающих гораздо больше возможностей.

У си типизация мягкая.

Это очень плохо и опасно.

 

Худо, толькл, если когда больные на голову авторы языка начинают требовать абсолютно жесткого выполнения надуманных правил.

Они не надуманные. Например, требования к форматированию в Python сделано ради приучения программистов определенного стиля форматирования кода, и это очень важно, когда все пишут в одном стиле - легче читать, особенно тем, у кого привычки :)

Или const переменные по умолчанию в Rust, или невозможность просто так иметь одновременно 2 ссылки на один обьект в нем же - тоже очень важно. В С++ приходится самому следить за этим, вручную везде пихать консты, а в Rust за этим следит компилятор.

Rust был разработан для полной замены С++, и там очень строгие правила.

Каждый язык проектируется с определенной целью, а не для того, чтобы кто-то думал, что авторы языка больные на голову. Другое дело - legacy-зависимость

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть гораздо более продвинутые и безопасные языки, чем С. Для нынешних задач С практически умер. Плюсы его заменяют полностью. Нужен он только для поддержки legacy кода и legacy-программистов :), новый код желательно писать на других языках, дающих гораздо больше возможностей.

Да но на си пишут и новые приложения. На си написаны win7,8, 10, android, ios, естественно все линуксы, самые популярные игры САПРы и прочее. Большинство новых приложений написаны на си, за исключением тех что пишут домохозяйки и менеджеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Они не надуманные. Например, требования к форматированию в Python сделано ради приучения программистов определенного стиля форматирования кода...

И эта причина называется "не надуманной" :).

 

 

Каждый язык проектируется с определенной целью, а не для того, чтобы кто-то думал, что авторы языка больные на голову.

Когда цель есть устроить концлагерь на ровном месте, дабы "неразумных" типа направить на путь истинный, то такие цели мне неприемлимы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да но на си пишут и новые приложения. На си написаны win7,8, 10, android, ios, естественно все линуксы, самые популярные игры САПРы и прочее. Большинство новых приложений написаны на си, за исключением тех что пишут домохозяйки и менеджеры.

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

Новый софт пишеться на продвинутых языках - C++, JS, Go, Python и куче других. Какой смысл делать на С, если есть языки по-лучше?

Разве что, если тот кто делает или тот, кто будет поддерживать ничего кроме С не знает и учить не хочет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Новый софт пишеться на продвинутых языках - C++, JS, Go, Python и куче других. Какой смысл делать на С, если есть языки по-лучше?

Разве что, если тот кто делает или тот, кто будет поддерживать ничего кроме С не знает и учить не хочет :)

Естественно С++. я его и имел ввиду, думал Вы поняли меня. Чисто сишный компилятор для современного компа уже и не найти наверно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

новый код желательно писать на других языках, дающих гораздо больше возможностей.

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

Все остальное - просто реклама.

 

Или const переменные по умолчанию в Rust, или невозможность просто так иметь одновременно 2 ссылки на один обьект в нем же - тоже очень важно. В С++ приходится самому следить за этим, вручную везде пихать консты, а в Rust за этим следит компилятор.

Rust был разработан для полной замены С++, и там очень строгие правила.

Rust не знаю, но ,судя по описанию, для замены С++ он не годится.

 

 

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

Давайте расставим точки над i. С и С++ - это один язык только в разные времена. Один в те времена, когда в больших микросхемах было мало памяти, второй - когда в маленьких микросхемах стало до фига памяти. Переписывать терабайты кода совершенно без надобности, можно лишь перекомпилировать.

А причин для перевода legacy-кода на более современные языки у производителей авто- и прочего действительно нет, для них главное надежность.

И тут они действительно правы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Новый софт пишеться на продвинутых языках - C++, JS, Go, Python и куче других. Какой смысл делать на С, если есть языки по-лучше?
Вы там знаете на чем пишут.

Вы до недавнего времени даже не знали что ваш Node.JS писан поверх Сишной либы https://github.com/libuv/libuv

В папочку src то заходили? Чего дам одни .c файлы? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лично я очень много раз приходил к мысли,... вместо Delphi юзал С++! Ооочень очень много раз приходил к такой мысли. Печальная мысль. Жаль потерянного времени :crying:

 

На C++ вы не переходили потому что абсолютное большинство компонентов в RAD Studio написано на Delphi.

С Builder еще можно юзать пока вы делаете простенькие утилиты, а начав писать корпоративные приложения вам приходится перейти на Delphi.

Поскольку и VCL, и FireMonkey, и FireDAC, и DevExpress, и TeeChart, и Indy и т.д.- все написано на Delphi.

Попытавшись перейти на С Builder теряете возможность их отладки.

 

Безусловно сейчас надо рекомендовать Delphi Berlin особенно тем кто хочет быстро делать программы одновременно под Win, Android и iOS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть гораздо более продвинутые и безопасные языки, чем С. Для нынешних задач С практически умер.

Да щаззз прям! :biggrin:

https://www.youtube.com/watch?v=XHosLhPEN3k

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С Builder еще можно юзать пока вы делаете простенькие утилиты, а начав писать корпоративные приложения вам приходится перейти на Delphi.

Имел опыт корпоративных приложений на Delphi: клиенская часть MS SQL. Перешел на СBuilder, потому что begin-end было "невыносимо-мучительно" видеть.

Проблем с отладкой не испытывал. Единственной потерей было то, что билдеровский "Tпредок::" смотрел на права доступа, в отличие от дельфийского inherited.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

потому что begin-end было "невыносимо-мучительно" видеть.

Да, это дурацкая идея с begin-end :(, явно тоже мечтали "улучшить" читамость :(. Не пойму только одного, почему-бы прежде, чем реализовывать подобняе "идеи" не заменить в любом текте, например, точки на end и не потестировать получившиеся дерьмо на читаемость.

На грани 80x-90x приходилось один большой борлондячий проект перелопачивать. Через несколько дней ошизев от созерцания бесконечных begin-end заменил их по всему проекту на {} а перед компиляцией прогонял через сишный препроцессор для обратной подстановки. Работал еще с одним языком у которго синтаксис и не только, был похож на паскалевский, потом в Автора хватило ума переделать на похожий на сишный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...