- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
// Задача: Рисовать в консоли прогресс бар, на сколько дней текущий год завершился
static void ProgressBarOfElapsedDays(DateTime dateTime, bool isRefreshebleat = false) // рефрешеБЛЕАТ! :))
{
int daysOfYear = DateTime.IsLeapYear(dateTime.Year) ? 366 : 365;
int dayInProcents = daysOfYear * 100 / 100; // WAT?
int currentDay = dateTime.DayOfYear * 100;
int daysOfYearNotElapsed = daysOfYear * 100 - currentDay; // Сложный матан
int procent = 100 - (daysOfYear * 100 - currentDay) / dayInProcents;
int buffer = 0;
if (isRefreshebleat)
{
if (Console.CursorTop >= 1 || Console.CursorLeft >= 1)
{
Console.SetCursorPosition(Console.CursorLeft - Console.CursorLeft, Console.CursorTop - Console.CursorTop); // когда Console.SetCursorPosition(0, 0) недостаточно
}
}
// остальной код
}
guest8 06.03.2020 18:53 # −999
adoconnection 06.03.2020 18:59 # 0
bormand 06.03.2020 19:09 # +2
nABuAH 06.03.2020 19:25 # 0
Медлишь исполнить план,
Считая минуты,
Смотришь в пустой экран?
3.14159265 06.03.2020 19:26 # 0
nABuAH 06.03.2020 19:32 # +1
Всё правильно, настоящие программисты математику не изучают.
3.14159265 06.03.2020 19:54 # +1
guest8 06.03.2020 19:57 # −999
nABuAH 06.03.2020 20:00 # 0
guest8 06.03.2020 20:05 # −999
nABuAH 06.03.2020 20:10 # 0
ncurses 6.1.20180908
>> tput cols
124
>> tput longname
ANSI emulation for Cygwin
*****
ncurces скомпилированы с заглушкой. В каком-то из говнокодов мы эту заглушку обсуждали.
nABuAH 06.03.2020 20:12 # 0
https://govnokod.ru/25899
Там мы обсуждали заглушки в «ncurses» и в «PDcurses».
3.14159265 06.03.2020 20:04 # 0
Ага, я уже понял. В ideone ошибка:
Починил:
https://ideone.com/trmyH8
guest8 06.03.2020 20:08 # −999
3.14159265 06.03.2020 20:09 # +1
Так выше по треду уже сказано про watch -n1
http://govnokod.ru/26468#comment531657
3.14159265 06.03.2020 20:18 # +2
bormand 06.03.2020 20:20 # 0
3.14159265 06.03.2020 20:25 # +3
Именно поэтому я за «bc».
gost 06.03.2020 20:26 # 0
3.14159265 06.03.2020 20:29 # +2
Особенно страдают сишка и её блядские потомки.
https://govnokod.ru/26357#comment521663
gost 06.03.2020 20:37 # 0
3.14159265 06.03.2020 20:44 # +1
https://ideone.com/OJdZwp
https://ideone.com/315KHG
bormand 06.03.2020 20:49 # +1
3.14159265 06.03.2020 20:56 # 0
https://ideone.com/uYsRBz
nABuAH 06.03.2020 21:06 # 0
3.14159265 06.03.2020 22:13 # +1
Такого не было. И автовывода не было.
>Dim n = 010
bormand 06.03.2020 22:14 # 0
guest8 06.03.2020 22:16 # −999
3.14159265 06.03.2020 22:26 # +1
Меня этот LET долго смущал.
В мануале он был описан.
Но никакой разницы между
не было.
Кроме того что LET занимал пару драгоценных байт.
Я долго не мог понять нахера он нужен.
Более загадочные комманды только PEEK и POKE, которые писали в порты.
И ещё какая-то, третья.
Я так тогда и не понял какой профит из них можно получить.
nABuAH 06.03.2020 22:28 # 0
3.14159265 06.03.2020 22:32 # 0
Это чисто для красоты. Оно их само как-то вставляло.
Когда в машине всего 16Кб памяти, то начнёшь экономить.
Я очень любил пару трюков, можно было экономить в IF не писать THEN или GOTO.
И второй трюк: длинные строки, разделенные двоеточием.
Тогда End if не нужен. И заодно метки экономились.
guest8 06.03.2020 22:29 # −999
3.14159265 06.03.2020 22:34 # 0
В VB были зайчатки ООП, вот там он использовался.
Я точно не помню, но VB5 завезли какие-то убогие классы, и там зачем-то рекомендовали Set.
guest8 06.03.2020 22:36 # −999
3.14159265 06.03.2020 22:39 # 0
Вроде он ссылку на объект устанавливал.
Типа ByRef и ByVal. Ещё AddressOf был.
Ну типа крестовых &
3.14159265 06.03.2020 22:41 # 0
>Да вообще при наличии ActiveX очень даже использовался ООП. У vbs особенно
Там оно было какое-то странное.
Не было основной фичи ООП: полиморфизма.
И самое нехорошее, что при использовании сабклассинга, остановка программы через кнопку Stop с квадратиком выкидывала весь процесс IDE с ошибкой.
guest8 06.03.2020 22:43 # −999
3.14159265 06.03.2020 22:45 # 0
Да. Поскольку в VC нельзя было просто формошлёпать интерфейсы мышкой.
Ну не на MFC же писать. Хотя кажется VB чуток раньше появился, точно не помню.
>а VB суть та же скриптушня
Так вообще все пред.NET бейсики — скриптушня.
Я считаю их предтечей js.
guest8 07.03.2020 00:52 # −999
kak 07.03.2020 01:31 # 0
См. ниже для чего он.
kak 07.03.2020 00:22 # 0
3.14159265 06.03.2020 22:17 # 0
Вроде нет. Просто раньше никто не парился объявлением переменных.
Сразу тупо присваивали значения как в фортране или js.
У меня мануал где-то валяется по старому бейсику могу глянуть.
Dim x
В QB завезли типизацию, которой до этого не было.
Dim x as Byte
Странно что в VB.NET они LET похерили. Точнее приспособили его для какого-то LINQ.
guest8 06.03.2020 22:22 # −999
3.14159265 06.03.2020 22:25 # 0
Похоже я ошибся: DIM X ввели уже в QB.
Сугубо ради унификации.
kak 07.03.2020 00:39 # 0
ПИК и ПУК это же доступ к памяти, блеять!
nABuAH 06.03.2020 22:23 # 0
В «Кубейсике» было три способа указания типа переменной:
1. Суффиксом. $ для строк и % для целых поддерживались и другими бейсиками. «Кубейсик» добавил & для длинных целых, # для плавпитуха двойной точности и ! для плавпитуха одинарной точности.
2. Первой буквой, как в «Фортране». Директива DEFINT I-N означала, что переменные, начинающиеся с букв I, J, K, L, M, N, будут целыми.
3. DIM x AS INTEGER. Оператор DIM, изначально предназначенный для массивов, расширили.
Инициализации при объявлении не было, было отдельное присвоение.
3.14159265 07.03.2020 00:19 # +1
Питух скорее всего первый более-менее мейнстримный сишкоблядский язык, где эту срань наконец-то починили.
Может Царь зря его так сильно обсирал.
3.14159265 07.03.2020 00:23 # +2
Меня порадовала Скала
Main.scala:2: error: Decimal integer literals may not have a leading zero. (Octal syntax is obsolete.)
System.out.println(010);
^
А котлин высрал портянку какой-то мутной чухни. Но тоже не скомпилировал.
guest8 07.03.2020 01:33 # −999
IIIuMnAH3E 07.03.2020 02:11 # 0
В «Википедии» есть экзотические реальные примеры, не относящиеся к компьютерам, но в экзотических случаях и троичная система бывает, и 12-ричная, и 60-ричная...
bormand 07.03.2020 09:27 # 0
nABuAH 07.03.2020 00:29 # +3
Он сначала обсирал кресты, теперь стал крестоблядью.
3.14159265 07.03.2020 00:35 # 0
> зря его так сильно обсирал
Однако у Питуха есть объективные недостатки:
1. иногда он сильно раздражает нежеланием компилировать
2. недоразвитая инфраструктура
3. туповатый компилятор (следствие п.2)
3.14159265 07.03.2020 00:38 # +2
И сейчас раскрою вам страшную тайну, почему Царь так не любит Питуха.
This is probably the main showstopper for implementing complex video codecs in Rust effectively.
Rust is anti-FORTRAN in a sense that FORTRAN was all about arrays and could operate arrays safely while Rust safely prevents you from operating arrays.
And that’s why C is still the best language for systems programming—it still lets you to do what you mean (the problem is that most programmers don’t really know what they mean) without many magical incantations. Sure, it’s very good to have many common errors eliminated by design but when you can’t do basic things in a simple way then what it is good for?
Статья хорошо описывает Питушачьи плюсы и минусы.
https://codecs.multimedia.cx/2017/07/rust-not-so-great-for-codec-implementing/
guest8 06.03.2020 20:55 # −999
Rooster 06.03.2020 22:44 # +1
Правда мне не нравится, что нельзя кроссплатформенно отключить парсинг числе вообще, хочешь, например, DSL накалякать, где тебе числа не нужны, вроде бы можно было бы просто без проблем поставить в порядок поиска один словарик и евальнуть строку и течь, но дефолтный интерпретер будет хавать незнакомые слова, если сможет распознать в них число, и всё-таки для боротьбы с этим придётся писать свой интерпретер. Хотя системы часто дают как-то обработать случай, когда слово не найдено в словаре, перед попытакой переобразовать его в число, но у всех это по разному делается.
Кстати, в стондарте Forth 2012 добавили префиксы для систем счисления, для хексов как в поцкале $.
gostinho 06.03.2020 20:29 # 0
nABuAH 06.03.2020 19:53 # 0
guest8 07.03.2020 01:19 # −999