LINUX.ORG.RU

А куда, если не в веб?

 , ,


3

4

Хай, Лор. Давно сюда не писал, многое поменялось, многое перепробовал.

Но вот незадача - присутствует чувство, что всё идёт сейчас в веб. Я уже было смирился с этой мыслью, но тут начинается…Чертов фронтенд. Вот не нравится мне размечать документы и объяснять машине по полчаса, почему и какая кнопка, где должна находиться.

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

Подскажите, есть ли истории успеха? Что-то алгоритмическое/техническое? Буду рад всем отписавшимся по вопросу.

Ответ на: комментарий от CryNet

Ну, если ананимус не захочет :)

Естественно, Анонимус не захочет – думаю я справлюсь с переживаниями по этому поводу )

pihter ★★★★★
()
Ответ на: комментарий от byko3y

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

Когда человек взрослеет, то желание мотаться туда-сюда ради «уютного офиса и печенек» пропадает. Взамен появляется желание, чтобы ТУТ, где ты уже, было хорошо. Знаем мы, около десятка знаем товарищей, живущих по рабочей визе на съёмных полупустых квартирах в Германии и Польше, постящих оттуда сверхоптимистичные фото, рассуждающие, что «рашка всё», но квартиры свои тут - почему-то не продающих.

Alve ★★★★★
()
Ответ на: комментарий от hobbit

Можно узнать, каких именно библиотек не хватило, что их пришлось тащить даже не из сишки, а аж из питона?

Тут несколько нюансов

1 Библиотеки работы с http даже 5 лет назад сильно устарели, это synapse и indy

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

Так что подключение С никак не годилось

На самом деле я не вижу ничего плохого в комбинации Lazarus и Python, Lazarus дает быстрое GUI и обработки, Python дает гибкость

ism ★★★
()
Ответ на: комментарий от ism

На самом деле я не вижу ничего плохого в комбинации Lazarus и Python

А ничего плохого в этом и нет. Ты главное похвастайся примером как ты питон прикрутил в лазарус: любопытно

pihter ★★★★★
()
Ответ на: комментарий от pihter

Ну доступа к тому коду у меня уже нет

Не если просто, то скрипт редактировался в формочке, а потом вызывался через TProcess с аргументами.

ism ★★★
()
Ответ на: комментарий от ism

А, ясно. А вот для Lua есть человеческое встраивание. Я правда, руками не пробовал, но видел что есть.

Надо поковырять, ну как ловко выйдет

pihter ★★★★★
()
Ответ на: комментарий от pihter

У питона большая база пакетов, у lua наверняка она поменьше

Говорят lua очень быстр, но тут это не имеет значения

ism ★★★
()
Ответ на: комментарий от hobbit

Интересно. Какие у такого подхода преимущества по сравнению с выделением каждого класса в свой файл, кроме увеличения скорости сборки (скорость сборки опять-таки является специфичной проблемой C++ как языка без модулей)? Или у тебя в каждом из хидеров даже один класс выглядит по-разному?

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

alysnix ★★★
()
Ответ на: комментарий от pihter

в сях просто линковка общего вида.

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

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

alysnix ★★★
()
Ответ на: комментарий от anonymous

маня, побежал показывать признаки «языка для обучения»

Язык для обучения должен ставить минимальный барьер перед ньюфагом, чтобы тот с минимальными напрягами мог получить опыт создания алгоритмов, как описания четкой последовательности действий. Я бы сказал, что языками для обучения нельзя назвать все языки, в которых присваивание записывается знаком равенства, поскольку они со старта создают замешательство. То есть, C, Python, Java, JavaScript не подходят для обучения. К слову, ABC, прародитель питона, разрабатывавшийся как язык для обучения, таки для присваивания имел явную команду. И наоборот, в хаскеле знак равенства обозначает именно равенство, а для присвоения есть отдельные команды.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

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

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

alysnix ★★★
()
Ответ на: комментарий от alysnix

ну вот в школе, на уроке математики, и присваивание и равенство пишут одинаково. причем спокон веков. баловство это все.
сишное присваивание - это школьное присваивание с минимальной нотацией

Ты бредишь, никто никогда в математике не применял равенство в качестве операции присваивания. Давай, расскажи мне еще, что в математике где-то запись «a > b» значит «увеличить a до значения больше b». Разговор был не про паскалиста/сишника, разговор был про обучение, где нет ни паскалистов, ни сишников, а есть только дети и школьники.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

Ты бредишь, никто никогда в математике не применял равенство в качестве операции присваивания. Давай, расскажи мне еще, что в математике где-то запись «a > b» значит «увеличить a до значения больше b».

не, ну если у тебя не осталось школьного учебника, то войди в яндекс, напиши - «формулы сокращенного умножения» и посмотри картинки.

alysnix ★★★
()

А куда, если не в веб?

В вебкам </thread>

Dark_SavanT ★★★★★
()
Последнее исправление: Dark_SavanT (всего исправлений: 1)
Ответ на: комментарий от pihter

Я хотел аргументы про то, что «интерфейс из девяностых», в смысле GUI – этого достаточно

Просто «десктопный интерфейс» - этого не достаточно? Вот так просто создаются программы с Qt:

https://doc.qt.io/qtcreator/creator-writing-program.html

Я пока не увидел ни одного аргумента в пользу Лазаря, кроме того, что кто-то хорошо знает современный Паскаль, и хочет программировать, как в институте ндцать лет назад, как можно меньше изучая новое. Нафиг Лазарь сдался практикующему плюсисту - не понятно.

seiken ★★★★★
()
Ответ на: комментарий от seiken

Просто «десктопный интерфейс» - этого не достаточно? Вот так просто создаются программы с Qt:

Это не «просто». это пишется в qtcreator.

просто делается в wxWidgets. просто в редакторе. http://zetcode.com/gui/wxwidgets/firstprograms/

alysnix ★★★
()
Ответ на: комментарий от alysnix

Тут про IDE вообще-то речь. Хотя для некоторых и UNIX - IDE. Если ты из таких, то эта тема не для тебя.

seiken ★★★★★
()
Ответ на: комментарий от byko3y

Я бы сказал, что языками для обучения нельзя назвать все языки, в которых присваивание записывается знаком равенства, поскольку они со старта создают замешательство. То есть, C, Python, Java, JavaScript не подходят для обучения.

Так?

a == 1

Что, правда?)

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

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

RedEyedMan666
()
Ответ на: комментарий от RedEyedMan666

Язык должен быть… анальным… кхм, а компилятор орать на любую криво расставленную тютельку, приучая кодера к дисциплине :)

RedEyedMan666
()
Ответ на: комментарий от alysnix

ну вот как запишут школьную задачку
a=10
b=20
c=a+b
чeму равно c?

Ты забываешь, что эта задача равнозначна задаче:

10=a
20=b
a+b=c

byko3y ★★★★
()
Ответ на: комментарий от alysnix

не, ну если у тебя не осталось школьного учебника, то войди в яндекс, напиши - «формулы сокращенного умножения» и посмотри картинки

И что я должен там увидеть?

byko3y ★★★★
()
Ответ на: комментарий от RedEyedMan666

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

И дальше говнокодить на крестах, как это делает 95% всех макак?

byko3y ★★★★
()
Ответ на: комментарий от RedEyedMan666

Значит С++ явно мягкий язык для них. Поищи что-нибудь более строгое

Brainfuck?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Ты забываешь, что эта задача равнозначна задаче:

я-то тебя понял… но школьники могут и не понять. ты играешь в форму нотации, но то что написал я - поймет каждый школьник. обратная польская запись тоже форма нотации, но в школе так точно не пишут.
вот 10=a - так не пишется точно.
и вычисление значения типа x = 10+20*(2-1)-… пишется именно так как сказал.

в школе вообще говоря смешиваются три семантики в одном символе =
-тождество, навроде (x+y)^2 = x^2+y^2+2x*y
-присваивание значения x=a+b(или связывание со значением)
-проверка на равенство (x=y)? какая семантика считается «основной» - неясно. в си считали, что связывание со значением, ты - проверка на равенство…

alysnix ★★★
()
Ответ на: комментарий от anonymous

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

Ну расскажи, поведай нам, глупцам, Всю Правду?

Alve ★★★★★
()
Ответ на: комментарий от byko3y

Язык для обучения должен ставить минимальный барьер перед ньюфагом

Я бы сказал, что языками для обучения нельзя назвать все языки, в которых присваивание записывается знаком равенства

Даешь кложу в каждое ПТУ!

Nervous ★★★★★
()
Ответ на: комментарий от RedEyedMan666

Нельзя начинать с С, а потом переходить на С++! Я не знаю, может ли крестовик переучиться на С, но сишник (я уверен на 100500%) никогда не сможет перейти на С++!

Ведь это совершенно разные парадигмы. Это же как балерине переучиться на физика-ядерщика или ядерщику — на балерину!

Я видел много быдлокода на С++, который явно писал сишник. Поэтому я, несмотря на то, что 15..17 лет назад делал потуги выучить кресты, принял решение вообще даже длинной палкой их не касаться! Только С!!!

anonymous
()
Ответ на: комментарий от alysnix

и вычисление значения типа x = 10+20*(2-1)-… пишется именно так как сказал

И? Это все равно не присваивание. Зачастую задача формулируется в виде «a + b - x = 0», из чего выводится «x = a+b». При этом, переменные никогда не меняются в рамках одной задачи.

какая семантика считается «основной» - неясно. в си считали, что связывание со значением, ты - проверка на равенство

В общей математике есть единственная семантика знака равенства — это равенство (внезапно). В булевых выражения иногда применяют знак равенства: https://en.wikipedia.org/wiki/Logical_equality

Всё остальное — это твои выдумки и притянутые за уши аргументы.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Всё остальное — это твои выдумки и притянутые за уши аргументы.

x^2=x*x - это корректная запись?
это присвивание, тождество или проверка равенства по значению правой и левой части?
как это записать правильно в твоей системе взглядов?

alysnix ★★★
()
Ответ на: комментарий от alysnix

В математике знак «=» – это только обозначение отношения равенства, на «операцию присваивания» в математике похожа дача обозначений или замена переменных, но это сопровождает известными словами – «Пусть A =…» и т.д., которые порой опускают, но они подразумеваются.

anonymous
()
Ответ на: комментарий от anonymous

Этот ваш Кнут стрелочки ставит (set n ← r, m ← r) чтоб обозначить присваивание.

anonymous
()
Ответ на: комментарий от anonymous

В математике знак «=» – это только обозначение отношения равенства,

меня, если честно, больше волнует как в языке реализованы полиморфизм, инкапсуляция, наследование, чем как обозначается присваивание…:)

alysnix ★★★
()
Ответ на: комментарий от alysnix

x^2=x*x - это корректная запись?
это присвивание, тождество или проверка равенства по значению правой и левой части?

Да, это корректная запись. Это тождество. В булевой алгебре это могло бы еще интерпретироваться как справедливое равенство.

byko3y ★★★★
()
Ответ на: комментарий от alysnix

Да что ты говоришь! Ты последний стандарт видел? Там вообще даже с ящиком водки не разберешься…

anonymous
()
Ответ на: комментарий от byko3y

Да, это корректная запись. Это тождество. В булевой алгебре это могло бы еще интерпретироваться как справедливое равенство.

то есть для тождества и бинарной операции равенства применяются одни и те же символы. в школе. до применения в присваивании этого же символа остался один шаг. потому, что если в школе пишут: x=a+b,и все понимают, что имеется ввиду. то почему в программе этого нельзя написать?

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

alysnix ★★★
()
Ответ на: комментарий от anonymous

В реальных задачах нахрен не нужны!
В.И.Ленин. том 0xaf, стр 0x3ab

alysnix ★★★
()
Ответ на: комментарий от alysnix

если в школе пишут: x=a+b,и все понимают, что имеется ввиду. то почему в программе этого нельзя написать?

В математике равенство означает неизменность x, a, и b. И наоборот, присваивание означает изменяемость, отмену предыдущих присваиваний. По этой причине «a = a + 1» является бессмысленным выражением в алгебре или неверным равенством в булевой алгебре. Равенство и присвоение — сильно отличающиеся операции в том числе для компилятора, из-за чего используется превращение в вид Static Single Assignment (SSA), в котором равенство таки является равенством и однажды заданное значение переменной нельзя менять, благодаря чему компилятор может преобразовывать это равенство, перемещая его вверх-вниз или подставляя в коде правую часть выражения вместо левого выражения, в том числе для сложных выражений в левой части части, вроде «*(a+2) = b; c = *(a+2)», которое становится «c = b; *(a+2) = b» с потенциальным опусканием одной или обеих будущих операций присваивания в процессе оптимизации.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

это сопровождает известными словами – «Пусть A =…» и т.д., которые порой опускают, но они подразумеваются

Здесь присваивание - это скорее «Пусть», нежели знак равенства.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

В математике равенство означает неизменность x, a, и b.

вы сейчас о чем?
мы говорили не более чем о нотации, вы с негодованием отвергли форму присваивания =, и сравнения ==. предлагая форму := и =. причем тут компиляторы, если компилятору вообще пофиг нотация. она лексером сразу превращается в поток абстрактных лексем, и вся остальная часть даже не знает как и что там пишется.
легким движением си компилятор можно переделать на вашу нотацию правкой в паре строк кода, не затронув более ничего. и тогда ЭТОТ язык по вашему стразу станет достойным для освоения программирования?

alysnix ★★★
()

Чертов фронтенд… Хотелось бы такую отрасль, в которой я бы смог набивать руку на фрилансе… Подскажите, есть ли истории успеха?

Backend на PHP - лучший вариант. Работы - море! Frontend, конечно, есть, но его мало, научиться очень легко.

anonymous
()
Ответ на: комментарий от byko3y

Операции «присваивание» в математике можно сопоставить тождество. Но, с другой стороны, в некоторых недоЯПах типа жабоскрипта «строгое равенство» тоже можно рассматривать как тождество…

anonymous
()
Ответ на: комментарий от anonymous

Чувак, пыхпых сдох лет 10 назад! Хватит уже труп насиловать!

Единственное, что в вебе непоколебимо - это CGI.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.