LINUX.ORG.RU

Что бы поучить такое строготипизированное (желательно компилируемое)?

 , ,


0

1

Пишу на пыхопыхе и перле, хочу повысить уровень понимания и умение кодить на языках более адекватных. В общем что лучше взять для общего развития из этого списка: Java/C#/C++/C

Хочу просто бафнуть свой мозг + умения, ибо после пыха и перла там «напишу что бы работало».

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

Живу не в столице и даже не в России, 5 рублей в час это за месяц можно на упаковку сосисок накопить.

mkrvdns
() автор топика
Ответ на: комментарий от Iron_Bug

В общем больше всего спасибо Iron_Bug Начал изучать C++, куплю планшет и начну читать книгу по алгоритмам в свободное время. Ну и + начал пыхопых углублённо ковырять.

Думаю в итоге всё равно плюсы пригодятся, только проект - я хз что можно на плюсах написать. Что то консольное в голову не лезет, а GUI - так это не особо то и программирование, события на кнопки накидывать.

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

не, за ночь можно стать сеньорой, это понятно. но вот стать за ночь сеньором - это нереально :)

Iron_Bug ★★★★★
()

Свифт уже предлагали?

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

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

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

смотря насколько ты в это дело углубишься и насколько хорошо изучишь язык и алгоритмы. кстати, полезно также про паттерны почитать, для общего развития.
я уже двадцать лет изучаю С++ (и то, блин, не успеваю в последнее время за отслеживанием самых последних новшеств С++14 и С++17). я получаю в сто раз больше, чем пять рублей в час. и это ещё мало считается. можно получать гораздо больше, за С++ под маздай предлагают и в два раза больше. но мне просто интересно работать именно под Линюксом, а моих денег мне хватает, так что я не парюсь.
вообще, в последние годы в связи с выходом новых стандартов С++ резко скакнул вверх по популярности. а запросы работодателей на С++ всегда были и, я думаю, никуда не денутся.

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

Ага, не нажал на клавишу «т» и вместо «что» получилось «чо». Вот как опозориться за 2 минуты, считайте за гайд.

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

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

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

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

Разве что если есть перспектива всю жизнь писать на С. Иначе бессмысленный опыт.

Ну и тут поведение программы более точно соответствует её исходному коду

Разве программа на Java не соответствует своему исходному коду?

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

Разве программа на Java не соответствует своему исходному коду?

Соответствует, но если в C это «объект существует от сюда и до сюда» (хотя сами эти точки могут быть разнесены далеко друг от друга), то в Java оно ближе к «существует отсюда и до какого-то момента в будущем». И я не говорил что «не соответствует», а сказал «более точно соответствует».

xaizek ★★★★★
()

SWIFT же. Будешь бабло рубить!

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

Соответствует, но если в C это «объект существует от сюда и до сюда» (хотя сами эти точки могут быть разнесены далеко друг от друга), то в Java оно ближе к «существует отсюда и до какого-то момента в будущем».

В яве, если у тебя объект используется только внутри метода, ты точно так же можешь считать, что за рамками метода его не существует, как и со стековыми переменными в сях. А если в метод откуда-то приходит или из метода куда-то возвращается ссылка на него, то без анализа кода ты точно так же хрен поймешь, где он создается и где больше не нужен, как и с указателями в сях. Я себе вполне могу представить сложную логику на указателях, когда ты ни об одном не сможешь с уверенностью сказать, что «он существует до сюда». Собственно, если бы было так, как ты говоришь, то например Rust был бы не нужен.

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

А вообще, если так подумать, мне кажется намного выгоднее читать книги по алгоритмам, структурам данных, компиляторам и интерпретаторам + книги «о красивом коде» на %languagename% Просто у меня есть идеи проектов (некоторые даже не баян), а пока я потрачу лет 5 на изучение плюсов - такое себе. Лучше сейчас взять какой нибудь хороший учебник по руби/питону, взять книгу Вирта, взять любую книгу о интерпретаторах и компиляторах и в итоге вырастет из меня что то более стоящее, нежели «учил 5 лет то, что мне не надо, за то теперь могу начать учить то, что надо».

Верна идея?

mkrvdns
() автор топика

Хаскелль. Как раз разомнёшь свои мозги.
До кучи важно ещё то, что он в них наводит марафет.
После него на всех прочих языках начинаешь писать куда более корректный код, чем прежде.
Даже если на самом цацкеле ничего писать больше не станешь.

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

Можно допустим сейчас Си учить только для того, что бы по алгоритмам решать задачи + будет минимальная база для какого нибудь обжектив-си (если я вдруг захочу). А пока я хочу веб + джаваскрипт. Книги уже скачал, готов учиться.

mkrvdns
() автор топика
Ответ на: комментарий от ovk48

Это в общем случае, а обычно пара allloc-release не так далеко друг от друга либо используются предсказуемо. Может я плохо высказался или пример не тот, но вообще имею в виду, что в Java меньше непосредственного контроля за тем, что происходит с памятью программы во время её исполнения и если в C есть какой-то шанс это понять по исходному коду (не в общем случае), то в Java с этим сложнее из-за неявности.

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

Ну так Лого или Бейсик тоже любой дурак осилит. Но это не значит, что надо все бросить и бежать их учить.

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

Haskell
Лого, Бейсик

Ты сравнил жопу с пальцем.

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

Утраиваю про цопепе. Там и Си подтянуть заодно можно.

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

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

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

В хацкеле мозг надо, а я тупой.

Не надо там мозг. То, что хипстер надел мамин шарф и бабушкины очки, не делает его модельером-дизайнером.

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

это очень узкая специфика

Это нужно для DSL. А DSL нужны для всего, то есть, вообще для всего.

но на практике такое редко требуется

Твои представления о практике крайне убогие.

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

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

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

ни один тупой мне не встретился

С чем поздравляю. Это и правда везение.

Hertz ★★★★★
()

начни с haskell, потом на более практично-ориентированную scala перезжай. скала на jvm, легко и без лишних телодвижений подключаются java-библиотеки, соотвественно, доступен весь богатейший набор библиотек для java. хотя последние версии явы явно двигаются вперёд, как язык скала значительно интересней и богаче и видимо так будет и впредь.

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

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

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

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

Не, всё таки послушаю тебя. Мне год до армии (но по идее за 3 года Израильской армии я смогу заниматься программированием), а значит лучше заниматься чем-то более фундаментальным и общим. Только вот вопрос, «с чистого листа» лучше начать с Си или сразу с плюсов?

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

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

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

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

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

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

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

Новосибириск? Если да, то у всех анонiмусов о Сибири такое мнение (мухосранск), но что взять с этих анонiмусов...

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

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

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

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

Iron_Bug ★★★★★
()

Что бы поучить такое строготипизированное

FreeDOS + TASM на дискете 3.5" помогут тебе понять программирование.
После них можно подумать об изучении Java (я имею ввиду как работает JVM). Си изучать смысла нет - этот язык движется по инерции за счёт кучи написанных для него библиотек. Изучай что-то новое, что даст тебе возможность жить не на шее у родителей, а учиться планировать свою жизнь по большей части самостоятельно.

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

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

Б-же, какой болван отборный попался...

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

Б-же, какой болван отборный попался...

Кстати, Страуструп что говорит по поводу Си++ в последнее время? Не читал?

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

жду от тебя то, что говорит Б.С. о Си, о котором говорим мы. внезапно

anonymous
()

Учи C и java. C научит тебя таким прекрасным вещам, как работа с памятью, и прочим низкоуровневым вещам (которые нужны, если ты хочешь понимать, как все работает на уровне ОС). Java научит тебя чистому коду и построению аккуратной ахитектуры приложения. Почему не надо учить C++ и C# - C++ - это мутант, франкенштейн нашего времени, радиоактивный уродец, чьи родители забыли съехать из Чернобыля. Ну а с C# все и так ясно - .NET only.

cherry-pick
()
Ответ на: комментарий от peregrine

В моем окружении все православные — очень умные люди, а вот среди атеистов иногда встречаются тупые. Значит?..

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