|
|
|
Железный канал: «Клуб программистов.» |
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Предлагаю тут делиться всем, что касается программирования и косвенно связанными с ним вещами. Для матерых программистов тут, конечно, интересного мало будет, но опытом поделится могут. А новичкам будет где спросить. Подобная тема была в КСО, но она уже давно затерялась там, а тут, думаю, не должна затеряться.
Теперь по сабжу.
Почитал одну хорошую (по отзывам тех кто по ней учился) книжечку по программированию. Вот пару цитат.
"...эта книга ничему вас не научит, если командная строка ОС Unix не станет вашим основным средством повседневной работы с машиной.
Объяснение этому очень простое. Чтобы стать программистом, вам для начала придётся начать писать программы так, чтобы они работали; потом в какой-то момент нужно перейти от этюдов к попыткам извлечь из собственных программ какую-то пользу; затем требуется сделать последний важнейший шаг довести полезность своих программ до такого уровня, чтобы ими начал пользоваться кто-то кроме вас. Написать сколько-нибудь полезную программу, имеющую графический интерфейс, довольно сложно чтобы это сделать, нужно уже быть программистом, но чтобы им стать, вам, как уже было сказано, нужно начать писать полезные программы. Этот заколдованный круг можно разорвать, выбросив из рассмотрения графический интерфейс, но программы, не имеющие такового и при этом полезные, бывают только в ОС Unix, больше нигде."
"...дистрибутивов Linux вполне достаточно. Кстати, можете использовать появление в вашем хозяйстве нужной операционной системы в качестве проверки собственной готовности к дальнейшему: если прошло три-четыре недели, а ничего юниксоиодобного на ваших компьютерах всё ещё нет, можете не обманывать себя: дальнейшие попытки «научиться программировать» вам просто не нужны."
Я так понимаю, по мнению автора, если человек не использует Unix, то он говно и программистом никогда не станет, даже может не пытаться. Интересно, насколько вы согласны с его мнением? И почему настоящие программы без графического интерфейса могут быть только в Unix? Что за такая дикая неприязнь к Виндоус?
_________________ Пираты - наше всё!
Последний раз редактировалось: za4ot (18:51 08-08-2024), всего редактировалось 1 раз |
|
|
Ritchie
279 EGP
 Рейтинг канала: 1(4) Репутация: 10 Сообщения: 6572
Зарегистрирован: 15.12.2015
 |
|
za4ot : |
если человек не использует Unix, то он говно
|
Сектантство.
za4ot : |
программы без графического интерфейса могут быть только в Unix
|
Как давно эта книга писалась? Во времена command.com возможно так и было, из за его ограничений по функционалу.
za4ot : |
Что за такая дикая неприязнь к Виндоус?
|
подозреваю книга писалась на рубеже конец 90х начало нулевых. Тогда у пингвинов было обострение.
|
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Ritchie : |
Как давно эта книга писалась?
|
В 2021 году.
_________________ Пираты - наше всё! |
|
|
Ritchie
279 EGP
 Рейтинг канала: 1(4) Репутация: 10 Сообщения: 6572
Зарегистрирован: 15.12.2015
 |
|
знач пропустил новое обострение у луноходов.
|
|
|
Voha
942 EGP
          Рейтинг канала: 9(1062) Репутация: 169 Сообщения: 4977 Откуда: Moscow, Russia Зарегистрирован: 15.02.2001
 |
|
za4ot : |
Предлагаю тут делиться всем, что касается программирования и косвенно связанными с ним вещами.
|
Это очень уж косвенно связано с программированием или средней тематикой канала. При этом имеет хороший потенциал уйти во флуд и личностные разборки.
Поэтому заранее прошу быть аккуратнее в обсуждениях.
za4ot : |
Я так понимаю, по мнению автора, если человек не использует Unix, то он говно и программистом никогда не станет, даже может не пытаться.
|
Средний современный "программист" очень мало знает про среду, в которой его код эксплуатируется. И код пишет в каком-нибудь vscode или idea, которые кроссплатформенные. Опять же современное программирование - не про эксплуатацию, а про алгоритмы.
Хорошо это или плохо? Неизвестно, но так вот есть.
Могу сказать, что разработчик, который кроме алгоритмов и основных принципов еще знает про устройство операционных систем, нюансы железа, принципы работы сети, виртуализацию - в среднем в моей окрестности оценен выше и полчает больше, чем условный "олимпиадный" программист-алгоритмист. И пользы приносит тоже больше
Но научится писать код можно без привязки к операционной системе, сейчас так и учат в основном.
_________________ Time will show... |
|
|
Криптон
1011 EGP
       Рейтинг канала: 5(116) Репутация: 164 Сообщения: 2667 Откуда: Москва Зарегистрирован: 05.04.2008
 |
|
za4ot : |
Интересно, насколько вы согласны с его мнением?
|
Последние шесть лет на работе пишу серверное ПО под Windows. С мнением того таинственного автора не согласен. Кстати, почему бы не указать автора и название книги? Что в этом секретного?
|
|
|
iiiIIIiiIIiIiiII
320 EGP
   Рейтинг канала: 1(1) Репутация: 14 Сообщения: 358 Откуда: Планета номер 13 в Тентуре Зарегистрирован: 25.05.2020
 |
|
za4ot : |
если человек не использует Unix, то он говно и программистом никогда не станет,
|
Нет, конечно!
Но линукс удобен, чертовски удобен. Всё настраивается.
Я пару лет назад попытался пересесть на мак - и не смог. Красиво, но управляемость хуже чем у винды.
добавлено спустя 42 секунды:
Криптон : |
Кстати, почему бы не указать автора и название книги?
|
Да, тоже интересно, что это за баклан такие идеи заливает.
_________________ И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак.
Последний раз редактировалось: iiiIIIiiIIiIiiII (13:09 09-08-2024), всего редактировалось 1 раз |
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Криптон : |
Кстати, почему бы не указать автора и название книги?
|
Вот тут можно почитать и книжку эту скачать бесплатно.
https://habr.com/ru/news/545142/
_________________ Пираты - наше всё! |
|
|
iiiIIIiiIIiIiiII
320 EGP
   Рейтинг канала: 1(1) Репутация: 14 Сообщения: 358 Откуда: Планета номер 13 в Тентуре Зарегистрирован: 25.05.2020
 |
|
Короче, красноглазый понял что он красноглазый.
В книгах множество воды. Хорошо, что они бесплатные.
_________________ И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак. |
|
|
Ritchie
279 EGP
 Рейтинг канала: 1(4) Репутация: 10 Сообщения: 6572
Зарегистрирован: 15.12.2015
 |
|
iiiIIIiiIIiIiiII : |
Но линукс удобен, чертовски удобен. Всё настраивается.
|
только вот настраивается через одно место копанием в тысячах конфигах. Да и софта нормального кот наплакал. Пусть остаются там, где им и место - на сетевых железках, суперкомпьютерах и тд. А на десктопе им делать нечего.
iiiIIIiiIIiIiiII : |
Короче, красноглазый понял что он красноглазый.
|
вообще не понятно, откуда у луноходов это прозелитизм? Нравиться пользуйся, обязательно других тащить в свою секту?
|
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Ну эта книга меня кое-чему научила. Почитав как Столяров лихо запускает в командной строке Linux программы на Паскале с параметрами, я потратив целый день, научился такое же делать в командной строке Windows. До этого я и не знал, что так можно.
Ну и Linux это точно не мой выбор. Как бы рассматриваю программирование с той точки зрения, что оно помогает создать инструмент для решения конкретной задачи если такового нет готового в системе. Тем более ЯП позволяют сейчас компилировать код практически под любую ОС. Какой пользуется человек под такую пусть и пишет.
Например, купил себе читалку, а книги все в сети с опечатками и прочим непотребством, поэтому читать их было невозможно нормально. Но я-то учил Перл - вот он и пригодился. Написал скрипт, который исправляет в книжках опечатки и вообще приводит их в удобоваримое состояние для моей читалки. Если б я пользовался Linux, то и там бы я смог написать такой же самый скрипт. Поэтому все холивары по поводу выбора ОС для меня не имеют смысла, потому как я пользуюсь только одной и писать соответственно буду только под нее. Просто удивило, что человек настолько топит только за одно семейство ОС.
_________________ Пираты - наше всё!
Последний раз редактировалось: za4ot (21:02 09-08-2024), всего редактировалось 2 раз(а) |
|
|
Voha
942 EGP
          Рейтинг канала: 9(1062) Репутация: 169 Сообщения: 4977 Откуда: Moscow, Russia Зарегистрирован: 15.02.2001
 |
|
Потыкал в несколько рандомных мест, где что-то понимаю. Это переиздание, первое издание было в 2017. В качестве научпопа сойдет, в качестве движения в сторону промышленного программирования оно уже в 17-м году устарело. Например уважаемый автор пишет про SELECT(), не упоминая его родовых травм, и не пишет рядом про EPOLL(). Концентрация устаревших концептов в книжке довольно высокая...
_________________ Time will show... |
|
|
iiiIIIiiIIiIiiII
320 EGP
   Рейтинг канала: 1(1) Репутация: 14 Сообщения: 358 Откуда: Планета номер 13 в Тентуре Зарегистрирован: 25.05.2020
 |
|
Ritchie : |
А на десктопе им делать нечего.
|
Не буду говорить что ты неправ, но я с 2017 года потерял какое-либо желание возвращаться в Windows.
_________________ И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак. |
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Столкнулся с проблемой при написании скрипта на Perl.
Скрипт должен открывать файл, если в файле находит строку "windows-1251", то перекодировать весь файл в UTF-8, вносить какие-то изменения и результат записывать в другой файл.
Как бы если разделить на 2 скрипта, то работает. Первый скрипт перекодирует и перезаписывает файл, а второй вносит изменения и сохраняет их в другом файле.
Вот так работает:
Первый скрипт (кликните здесь для просмотра)
Код: |
use 5.010;
use strict;
use warnings;
use Encode;
# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);
# Если находим в файле "windows-1251", то перекодируем его в UTF-8 и перезаписываем файл.
if ($string =~ /windows-1251/) {
my $string = encode("UTF-8", decode("cp1251", $string));
open(my $in, ">", "input.fb2") || die("Error open read file\n");
print $in $string;
close($in);
} |
|
Первый скрипт выдает нам перекодированный файл в UTF-8
Второй скрипт (кликните здесь для просмотра)
Код: |
use 5.010;
use strict;
use warnings;
# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);
# Делаем замены разнообразные.
$string =~ s/"(.*?)"/«$1»/g; #
# Выводим в файл.
open(my $out, ">", "output.fb2") || die("Error write file\n");
print $out $string;
close($out); |
|
Второй скрипт вносит изменения и записывает их в другой файл тоже в UTF-8.
А вот такой вариант не работает. Конечный файл с внесенными изменениями всё равно остается в кодировке ср1251, хотя должен перкодироваться в UTF-8.
Объединенный скрипт (кликните здесь для просмотра)
Код: |
use 5.010;
use strict;
use warnings;
use Encode;
# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);
# Если находим в файле "windows-1251", то перекодируем его в UTF-8.
if ($string =~ /windows-1251/) {
my $string = encode("UTF-8", decode("cp1251", $string));
}
# Делаем замены разнообразные.
$string =~ s/"(.*?)"/«$1»/g; #
# Выводим в файл.
open(my $out, ">", "output.fb2") || die("Error write file\n");
print $out $string;
close($out); |
|
Я, конечно, могу в notepad++ кодировку в 2 клика поменять, но так не интересно.
_________________ Пираты - наше всё!
Последний раз редактировалось: za4ot (11:42 12-08-2024), всего редактировалось 7 раз(а) |
|
|
Voha
942 EGP
          Рейтинг канала: 9(1062) Репутация: 169 Сообщения: 4977 Откуда: Moscow, Russia Зарегистрирован: 15.02.2001
 |
|
Hint - область видимости переменных...
_________________ Time will show... |
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Voha : |
область видимости переменных
|
Ура! Заработало. Спасибо. Никогда бы сам не догадался бы.
Исправленный скрипт (кликните здесь для просмотра)
Код: |
use 5.010;
use strict;
use warnings;
use Encode;
# Считываем файл в одну строку.
open(my $in, "<", "input.fb2") || die("Error open read file\n");
my $string = do { local $/; <$in> };
close($in);
# Если находим в файле "windows-1251", то перекодируем его в UTF-8.
if ($string =~ /windows-1251/) {
# У меня было так. По факту объявляю новую переменную $string с тем же именем.
# my $string = encode("UTF-8", decode("cp1251", $string));
# А нужно так, чтоб использовалась та же переменная, которая объявлена в начале файла.
$string = encode("UTF-8", decode("cp1251", $string));
}
# Делаем замены разнообразные.
$string =~ s/"(.*?)"/«$1»/g; #
# Выводим в файл.
open(my $out, ">", "output.fb2") || die("Error write file\n");
print $out $string;
close($out);
|
|
Осталось прикрутить пакетную обработку файлов и можно всерьез приводить свою электронную библиотеку в порядок.
_________________ Пираты - наше всё!
Последний раз редактировалось: za4ot (17:56 13-08-2024), всего редактировалось 4 раз(а) |
|
|
iiiIIIiiIIiIiiII
320 EGP
   Рейтинг канала: 1(1) Репутация: 14 Сообщения: 358 Откуда: Планета номер 13 в Тентуре Зарегистрирован: 25.05.2020
 |
|
Вот так человек узнаёт, что он - программист.
_________________ И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак. |
|
|
AnrDaemon
864 EGP
        Рейтинг канала: 8(796) Репутация: 37 Сообщения: 12322
Зарегистрирован: 17.10.2004
 |
|
za4ot : |
почему настоящие программы без графического интерфейса могут быть только в Unix
|
Потому что автор книги тупо идиот, и редактор не умнее него.
_________________ Люблю свободный полёт... :) |
|
|
Grebomet
1466 EGP
      Рейтинг канала: 8(759) Репутация: 261 Сообщения: 4787 Откуда: Питербурх Зарегистрирован: 06.01.2003
 |
|
za4ot : |
use 5.010;
use strict;
use warnings;
use Encode;
|
Ну strict - понятно, warnings - тоже понятно. А что дает use 5.010?
za4ot : |
Первый скрипт выдает нам перекодированный файл в UTF-8
|
И испорченную fb2-книжку, т.к. читалка будет ее открывать как закодированную в win1251 и вместо нормального текста мы увидим нормального текста.
Строчку с кодировкой тоже надо поменять на UTF-8.
Причем не просто название кодировки где-то в тексте, а именно тег xml, задающий кодировку документа. А то сейчас у тебя любой документ, содержащий строчку windows-1251, принудительно перекодируется в UTF-8.
И кстати, названия кодировок регистронезависимые.
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
za4ot
524 EGP
     Рейтинг канала: 5(130) Репутация: 17 Сообщения: 3549 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
Grebomet : |
А что дает use 5.010?
|
Это просто указание версии Perl.
Grebomet : |
Строчку с кодировкой тоже надо поменять на UTF-8.
Причем не просто название кодировки где-то в тексте, а именно тег xml, задающий кодировку документа.
|
Там где нужно там всё меняется, просто в листинге это не отображено. Тут только часть скрипта, с которой проблема была.
Grebomet : |
И кстати, названия кодировок регистронезависимые.
|
Не факт. Где-то видел в первоисточниках что различия есть, но это не точно.
Grebomet : |
И испорченную fb2-книжку, т.к. читалка будет ее открывать как закодированную в win1251 и вместо нормального текста мы увидим нормального текста.
|
Сейчас всё четко работает. С кодировками я вопрос уже решил окончательно, но и без этого есть еще над чем работать.
_________________ Пираты - наше всё! |
|
|
|
|
|
Железный канал: «Клуб программистов.» |
|