Зачем симпатизировать Windows, чтобы использовать C#? Где Rust?
UPD: Ах, ну раз тут Хауди Хо, то это баян десятилетней выдержки. Это все объясняет.
Приветствую.
В таком случае подскажите, пожалуйста, используете ли вы как отдельные приложения, так и встроенные в браузер блокировщики рекламы/трекеров или иные приложения активации VPN/Proxy?
Если да, отключите их, пожалуйста, для Пикабу и проверьте ситуацию вновь.
Также можете попробовать авторизоваться в режиме инкогнито без активных расширений, там ситуация повторяется?
ну, кстати, а чем он принципиально хуже Перла? просто на мой взгляд - перл это прям охуеть какой мощный удар для первого языка. Начиная от того, что он угарный, творить треш на нем крайне весело, заканчивая ворохом того, что нужно знать, если захочешь, так сказать, овладеть им (он в этом пункте проигрывает плюсам, но за счет первого пункта, я бы его все равно поставил на первое место вредных языков) (upd: на всякий случай, вредных, но не плохих. он чертовски хорош для своих задач).
Фортран-то, поди, вреднее их обоих будет. Да и чистый Си мозги калечит только в путь. Проблема, мне кажется, не в том, чтобы составить список языков, с которых нельзя начинать, потому что какой язык не назови - он в списке. А в том, чтобы найти язык, с которого начинать можно и нужно. Такой известен только один, и это Паскаль. Но скажите это в приличном обществе, и вас засмеют.
У меня первый язык C++ (а по факту почти Си, потому что мы не юзали ООП тогда) и в принципе норм, разобрался, хотя и тупой. Но по поводу паскаля я согласен, он объясняет все основные концепции, статистически и строго типизированный (это как палкой по рукам от компилятора), есть указатели и в целом приближен к архитектуре компухтера. Но при этом он не перегружен концепциями, так что начинающий не должен запутаться.
А ещё в нём можно писать без побочных эффектов. В Си-подобных это невозможно, там всё является побочным эффектом арифметического вычисления. Это может неслабо повлиять на способность писать код, который может читать не только компилятор, но и хоть кто-то из людей.
не очень понял ваше сообщение. Побочный эффект, с точки зрения чистоты функций, это всякие io и изменения состояний (то есть, функция только ради возвращаемого значения, а не действий внутри). Что как бы, можно сотворить и в плюсах и в паскале, и в си. Если имеется изменения состояний регистров, то увы, это как бы свойство архитектуры, и, полагаю, что не это вы имели в виду.
Нет, побочный эффект это когда арифметическое выражение, вычисляясь, делает изменение состояния, которое мы потом можем обнаружить (в том числе и io, да).
В Си и Си-подобных языках вы не просто можете сотворить побочный эффект, вы вообще не сможете их избежать. Дело в том, что в Си арифметическим выражением является почти всё, даже во время выполнения присваивания сама запись значения в память это побочный эффект операции "присваивание", которая всегда возвращает свой правый аргумент.
Да что там присваивание. Точка с запятой, которую часто считают просто разделителем, и которая в Паскале именно разделителем и является, в Си правильно именуется "оператор вычисления выражения ради побочного эффекта" (кроме той, что в конце цикла с постусловием, там она просто так). То есть, говорит компилятору, что результат выражения слева надо отбросить, оно не нужно, и то, что оно не используется, это не ошибка.
Именно из этого и растут ноги у большинства типично сишных изъёбств, вроде копирования строки циклом while с пустым телом. И отсюда же шутка про то, что Паскаль лучше Си потому, что на Си можно написать <пример длинного ванлайнера с добрым десятком эксплуатируемых побочных эффектов>, а на Паскале нельзя.
А вот процедура по определению побочных эффектов не имеет. Она ведь ничего не вычисляет. А функция вычисляет. В Си нет процедур, только функции.
Даже не знаю, где это найти)) Хотя нет, знаю. Поищите в трёхтомнике Столярова (второе издание его "Введения в профессию"), там оно точно есть, правда, не помню, где именно. Часть вроде в первом томе, где Паскаль, часть во втором, где Си. А в интернете сходу не нашёл статей, объясняющих само явление. Только те, где предполагается, что уже знаешь о нём.
Ну, очень странно. То, что мы имеем некие побочки для арифметических операций над встроенными типами не является какой-то вообще заметной проблемой. Если глянуть результат в ассемблере - нихрена там этого не будет. Как и в паскале.
Если брать сложные типы, то перегрузка операторов есть, что, да, в целом, дает побочные эффекты. Но, если не делать дичь (лезть в файл, при присваивании), то какая проблема?
Ничто не мешает нахуевертить в паскале что-то с побочкой и воткнуть в вайл. И нихуя в теле не делать.
Последний абзац про процедуру выглядит как опечатка, но вы дальше используете как аргумент. Так вот, процедура, как функция без возвращаемого значения, как бы, не может быть без побочных эффектов (ну, если душнить - может, но практического смысла почти нет), в сишке есть функции, которые ничего не возвращают, но, как бы, есть и те, которые возвращают. И они могут быть чистыми. И преобразятся в чистый ассемблер, который сделает что сказали. Как бы, как и паскаль.
Ну то есть, не убелили. Либо эта душная доебка до терминологии, которая, на практике (а именно в ней используют языки) не дает какого-то существенного отличия от этих языков. Либо вы что-то сильно путаете.
Я не говорю, что какой-то из этих языков лучше (хех, я работаю на плюсах, и я их в рот ебал), я говорю, что аргументация не убедительна.
Видимо, вам при обучении о побочных эффектах не рассказали)) Если к ним привыкнуть раньше, чем понять их, то они начинают казаться чем-то неизбежным и даже необходимым. Но это не то, что не влияет на практику - непонимание этой концепции является источником типично сишного стиля оформления кода, в котором чрезвычайно сложно разобраться. Легко ли читать код, где больше одного побочного эффекта на строку? Так же сложно, как объяснить сишнику, почему так писать не стоит.
Процедура это не функция без возвращаемого значения. И технически они не похожи, и с точки зрения логики программы это совершенно разные вещи. И у процедуры по определению побочных эффектов быть не может, ведь она ничего не вычисляет (вернее, все её вычисления вспомогательны для той цели, ради которой она написана). Функцию с побочным эффектом, конечно, можно использовать в качестве процедуры, но это не делает процедуры разновидностью функций или наоборот.
Если вы про примеры вида i= ++i + i++; (а еще про разный порядок вычисления аргументов в функции) то, как бы, странно заходить с "блин, побочки, в паскале нет побочек", если в паскале побочки есть, но нет "Такого" - это вредит в понимании информации. Да и, как бы, утверждение, что в паскале нет побочных эффектов - ложь. Либо у нас разные определения этого словосочетания.
Про процедуру - вы угараете? https://qna.habr.com/q/519776 там дальше влетел чувак, который чуть подробнее развернул тему и скинул ссылку на вики, к которой принципиально нет того, что противоречит "функция это как процедура, только с возвращаемым значением"
Побочные действия - https://ru.m.wikipedia.org/wiki/Побочный_эффект_(программирование)#:~:text=Побочный эффект функции — возможность в,исключительные ситуации, вызывать их обработчики. Что же будет делать процедура, чтоб остаться без побочных действий и быть при этом нужной?
Да что там присваивание. Точка с запятой, которую часто считают просто разделителем, и которая в Паскале именно разделителем и является, в Си правильно именуется "оператор вычисления выражения ради побочного эффекта" (кроме той, что в конце цикла с постусловием, там она просто так). То есть, говорит компилятору, что результат выражения слева надо отбросить, оно не нужно, и то, что оно не используется, это не ошибка.
Бред же. Всё зависит от компилятора. То, что вы говорите похоже на какую-то кустарную оптимизацию. Нынешние компиляторы имеют очень много проходов и они вообще не работают с токенами на этапах оптимизации, на этом этапе программа уже имеет какое-то внутреннее представление (ast).
В школе начинал с паскаля на уроках информатики, в принципе получалось неплохо, но язык очень сильно отталкивал прибитой гвоздями структурой программ, в итоге даже не стал сдавать егэ по информатике и сдавал физику
Зато в универе были 2 семестра си, и вот тогда то я прочувствовал, что такое программирование. В итоге пишу уже 4 года бэкенд на джаве, после НГ буду перебираться на го)
Сложно сейчас говорить, но есть ощущение, что если бы в школе начинали с си, то сразу пошел бы в айтишечку и не тратил время на физику
Имхо, любой второй язык кажется проще. Тк основные концепции ты уже знаешь, и учишь только отличия.
Вот тоже никогда не понимал зачем детям в голову запихивают Паскаль, когда есть Си. И продолжается это до сих пор.
В ребенков азы запихивают, а в азах Си не сложнее Паскаля, даже легче имхо: меньше аглицких слов, присваивание как в матеше, опять же.
Ну, вопросик спрашивал исходя из пикчи и своего опыта). Фортран, насколько я понимаю, самый быстрый способ трансформироваться в старого математика.
Я начинал с паскаля. Пока что думаю, что он хорош для старта. Главное не забыть с него слезть.
Есть старая шутка, что опытный программист на Фортране может писать на Фортране, используя любой язык программирования))
Изучение BASIC первым языком когда-то называли первородным грехом. Когда его вообще где-то изучали.
На заметку: он был создан как язык для людей, которые никогда не будут программистами.
Бляха. Вот почему из меня получился хреновый программист( а я то думал потому что я ленивая жопа
А можете каких-то существенных отличий от Паскаля никидаать? без гугла
Просто для меня это очень странно звучит. В школе был Basic и VisualBasic. Олимпиадки на нём какие-то выигрывал. В уневере сходу C/C++, потом осел на Java. Вроде норм.
Нумерация строк, например. Goto как норма, а не что-то исключительное и странное. Интерпретируемая стратегия исполнения. Отсутствие указателей. Нет ни процедур, ни функций, вообще никаких подпрограмм, юзайте goto. Это сходу, без гугла.
Я про тот самый изначальный BASIC, не про Visual. Диалектов бейсика дохрена, они разные, новые бейсики, вроде Visual, ближе всё-таки к Фортрану или Паскалю, чем к своему прародителю. Я вот писал на таком, который похож на Си. Но он тоже дико странный, например, в нём процедура может возвращать значение, а функций нет совсем. То есть они функцию назвали процедурой хер пойми зачем. Ещё с указателями не потрудились сделать нормально, там все указатели как void* работают.
Бейсики все странноватые, какие-то больше, какие-то меньше. Для экономии сил лучше вообще отказаться от этого семейства, ничего никто не потеряет.
А тот BASIC, который был у вас в школе, в нём нумерация строк была? А подпрограммы хоть в каком-то виде?
Ассемблер из самых вредных. Несколько диалектов, под каждую архитектуру надо писать по-своему.
Так все верно. Не хотите много зарабатывать? Изучайте Delphi - вы не найдете себе работу и не будете много зарабатывать))
есть софт на foxpro. работает. хрен заменишь. 4-6 попыток импорта -экспорта неудачные. интерфейсов сотни. логика в коде. просто ежедневный бэкап всего. как отказаться не понятно.
остальной сметный софт скорее всего тоже на Делфи писан
Я вот пишу на Дельфи, и мне 42... Вроде и не дед, но и з/п не 300+((( И, да, это легаси
Весь прикол, что он ещё жив.
Накидать самому за пару часов GUI + функционал без всяких ебучий фреймворков, неплохо экономит время. А если программа работает везде где есть ведро на x86 , без бубна и пакетов из GIT , это бесценно.
Есть большие компании и вот они ебали переписывать то что у них уже работает на делфи, им проще держать в штате делфи программистов для поддержки и доработки
А меня в диплом, причём не в свой. Какой то браток из долгопы зачем то поступил в Станкин и ему срочно надо было закрыть сессию за деньги.
FirebirdSQL используют 11 компаний из списка ТОП-500 России 2015 год
https://habr.com/ru/articles/267647/
Ставлю на дремучее легаси. Firebird при какой-никакой серьезной наполненности колоссально теряет в быстродействии. Знаем, плавали.
Как-то мигрировал два биллинга в один. 1 Биллинг Firebird 2.5, второй Mariadb какая-то, миграция была в Postgres. Размер базы Firebird был небольшой, около 3 гиг, в Марии было порядка 20 гиг. Мария мигранулась примерно за то же время, что и FB)) Не думаю, что они смогли сейчас достичь результатов, хотя бы, близких к Postgres.
41, пишу много на Дельфи. Для десктопа идеал. Скорость разработки + удобство непревзойдённые никем.
Работа для дельфистов еще есть, хоть её и немного, и с каждым годом всё меньше. И в том числе довольно крупные проекты, в т.ч. и банковские.
Но изучать первым языком, конечно, я бы не советовал.
Большинство, наверное, да. Я статистику не собирал. Но кто-то ещё трепыхается и поддерживает старые проекты.
В любом случае, молодым разрабам лучше в это болото не лезть, имхо.
Но кто-то ещё трепыхается и поддерживает старые проекты.
В то время как мы переписываем десятилетний сервер с упоротого Qt5 на Node.js.
Какие же там извращения с чтением HTTP запросов были, просто хочется сидеть и плакать пока разбираешь код... Про подпись сообщения я уже молчу, а в JS это делается одной строкой с вызовом crypto.
Зачем симпатизировать Windows, чтобы использовать C#?
Картинка старая. Когда создавалась, C# под не-Виндой можно было запустить только c Mono.
UPD: Только написав ответ, заметил ваш UPD. =)







