Куча говна / Говнокод #25017 Ссылка на оригинал

0

  1. 1
Давайте хвалить "Kotlin".

Не ебу, что это, но от него сейчас принято течь, так что давайте...

Запостил: OBEH OBEH, (Updated )

Комментарии (128) RSS

    • Давайте.

      vim умеет всё, что нужно программисту: быстро заменить/удалить/скопировать в буфер любое количество символов. Ты можешь сделать это в 2-3 клика, в обычном редакторе это занимает куда больше.

      В vim можно навигироваться в 2 клика, можно заменять куски текста по регулярке, в виме есть куча буферов (а не один!), к нему есть куча плагинов для браузинга файловой системы, для чтения манов и чего угодно

      я могу :vsplit. и в правом окне у меня Man, и я выделяю кусочек текста и ctrl +w -<, и могу вставить кусок прямо из мана

      вим умеет таги и cscope и умеет комплитить мне поля структур и навигироваться в них в один клик.
      vim может стать вашим $EDITOR для всего: почты, конфигов, программ, дневников итд.

      vim совершенно не требователен к ресурсам, и поверьте: пописав в виме хотя бы неделю вы не захочете обратно
      Ответить
      • >>>"пописав в виме хотя бы неделю вы не захочете обратно"

        Пописял тебе на лицо.
        Ответить
      • Привык пользоваться мышкой, выделять и копировать текст в IDE или "Notepad++". Теперь жизнь заставила часто править сорцы на сервере через сонсоль, и вынужден пользоваться вимом (ну или его аналогами, то есть, опять же, сонсолью). Не понимаю как вы этим говном пользуетесь без мышки. Я привыкну за неделю?
        Ответить
          • По всей видимости с этим нужно пердолиться. А роскомговно говорит про удобства в 2 клика.
            Ответить
            • Изкоробки всегда работает копирование и вставка со стороны эмулятора терминала (правда она часто конфликтует с автоотступами и т.п., а с вимом на том конце может вообще призвать дьявола).
              Ответить
              • >>Изкоробки всегда работает копирование и вставка со стороны эмулятора терминала
                теоретически это зависит от терминала, практически все так делают

                >>а с вимом на том конце может вообще призвать дьявола
                :set mouse=, и vim ничего не знает промышь
                Ответить
                • Я про случайную вставку текста в терминал когда вим на том конце находится в командном режиме.
                  Ответить
                  • ой, ну так можно случайно и Патч Бармина вставить в обычный шелл
                    Ответить
              • > правда она часто конфликтует с автоотступами и т.п., а с вимом на том конце может вообще призвать дьявола

                :set paste
                Ответить
        • Мыш через терминал отлично передается, это называется xterm control sequences, и их умеют практически все терминалы.

          Вим может обробатывать их сам, а может и не обрабатывать.

          Если выключить поддержку мышы в vim (:set mouse=) то выделенный мышью текст отправится на усмотрение эмулятора терминала

          Скажем, putty в Windows скопирует его в клипборд винды.

          Если включить мышь в виме, то в общем случае выделение мышью равно выделению вимом в VISUAL режиме, но есть нюансы, см. :help mouse.

          Но я бы советовал выделять вижалам.

          Vw -- выделить слово вперде
          Vb -- слово назаде
          Vth -- до буквы "h"
          итд

          Выделенное можно скопирнуть в вимный буфер (y) или именованный буфер ("ry) где r -- имя буфера
          Ответить
          • > Если выключить поддержку мышы в vim (:set mouse=) то выделенный мышью текст отправится на усмотрение эмулятора терминала

            А теперь выдели мышью длинную строку, когда у тебя :vsplit и номера строк впридачу.
            Ответить
            • Скопируется всё, включая палочку, разделяющую окна:)
              ну значит надо :set nonu и лишнее окно закрыть

              Потому я и говорю что лучше выделять самим вимом. Его регистр + обычно доступен как клипборд/буфер ОС/иксов
              Ответить
                • И правда, в случае ssh/putty может не срабоать
                  Ответить
                  • придумал как полечить

                    1) на винде xming или vcxsrv
                    2) Putty с X11 forwarding
                    3) xterm + vim или gvim

                    Виндовый клипборд доступен окну xming, а значит и xterm или gvim
                    Ответить
                    • Проверил, xterm не работает, а gvim работает
                      Ответить
          • Завёл свой тепловоз в твой шоколадный туннель, проверь.
            Ответить
        • даю наводку.

          git init
          git add -A
          git commit -m "first commit"
          git remote add origin git@github.com:User/UserRepo.git
          git remote set-url origin git@github.com:User/UserRepo.git
          git push -u origin master

          ---------------
          далее достаешь на твоем компе и делай что хочешь 🙂
          Ответить
          • 1) иногда на сервере кода 950 гигабайт
            2) иногда он работает только на сервере
            3) иногда ты не имеешь права нигде кроме сервера его трогать, потому что полиси такое
            Ответить
                  • Это прадедушка всех телнетов и ssh
                    Ответить
                      • raskladka angl bukv ohuennaja
                        v detstve me4tal o takoi
                        Ответить
                        • Обрати внимание, какая просторная алфавитная часть. Сколько клавишей правее Х, Э, Ю!

                          И слово «PRINT» набирается одним пальчиком.
                          Ответить
                          • >>И слово «PRINT» набирается одним пальчиком.
                            так часто бывало в иных домашних микрокопутерах
                            або спектрум, або коммодор64, або bbc micro

                            чтобы удобнее писать на "BASIC"

                            зы: amiga еще была
                            Ответить
                            • Да, на «бытовых компьютерах» (которые можно считать большими калькуляторами) были готовые кнопки для некоторых слов. Жаль, что только под Бейсик эти клавы были заточены.

                              Но я сейчас не о том. Посмотри в центр раскладки JCUKEN:
                               N
                              P R
                               I T


                              Я считаю, что JCUKEN рациональнее, чем QWERTY.
                              Ответить
                              • > JCUKEN рациональнее, чем QWERTY.
                                Для тех, кто пишет одним пальцем – да.
                                Ответить
                                • Не только.

                                  Вспомним, у каких букв в азбуке Морзе самые короткие коды.

                                  Один знак: E, T.
                                  Два знака: A, I, M, N.
                                  Три знака: D, G, K, O, R, S, U, W.

                                  Теперь возьмём таблицу частот встречаемости букв в английском языке. Упорядочим буквы по убыванию популярности: E, T, A, O, I, N, S, H, R, D, L, C, U, M, W, F, G, Y, P, B, V, K, J, X, Q, Z.

                                  А теперь возьмём такую же таблицу для русского: О, Е, А, И, Н, Т, С, Р, В, Л, К, М, Д, П, У, Я, Ы, Ь, Г, З, Б, Ч, Й, Х, Ж, Ш, Ю, Ц, Щ, Э, Ф, Ъ, Ё.

                                  Замечаем, что Морзе выбирал коды неслучайно: самые короткие коды у самых популярных букв. Такой же принцип у кодов Фано (алгоритм Шеннона, алгоритм Фомфана Хаффмана).

                                  А теперь посмотрим, где расположены буквы в разных раскладках. В раскладке JCUKEN самые частые буквы расположены в центре, поэтому они будут набираться указательными пальцами. Самые редкие — где-то на окраине, для них сойдут и мизинцы.

                                  В раскладке QWERTY всё вперемешку.
                                  Ответить
                              • Зато на QWERTY слово stewardesses печатается одной левой.
                                У кого-то был странный фетиш...
                                Ответить
                                • А что можно набрать на QWERTY одной правой?
                                  Ответить
    • Пиздец я заебался.
      Как в ебучем виме сделать так, чтобы при ":set mouse=a" также работало "Ctrl+C"????
      Ответить
        • Ты прикалываешься? Хочу текст скопировать. Без ":set mouse=a" работает, но тогда навигация курсора мышкой не работает.

          Ёбаные прыщи.
          Ответить
          • ну сделай alias для "+y
            :help map

            ладно, держи
            :map <C-C> "+y
            Ответить
            • Ничего не понял. Хочу именно через CtrlC CtrlV копировать.
              Ответить
                • Не пашет.
                  Вот мой конфик:

                  syntax on
                  set nu
                  set mouse=a
                  map <C-C> "+y
                  map <C-V> "+p
                  Ответить
                  • што за ОС? что за эмулятор терминала?
                    требуется больше инфы об окружении

                    у меня всё работает
                    Ответить
        • Ща погуглю, что это такое... Нагуглил 100500 шпаргалок, как пользоваться tmux'ом. Небось, вышку получать надо, чтобы им пользоваться...

          Думаю, что им пользуются академики. Ну или как минимум профессора.
          Ответить
        • Я, но не часто, обычно хватает vim split
          Ответить
          • Задача: выделить текст и его скопировать. После выделения мышкой оно сразу же пропадает. Конфик:
            set-window-option -g mouse-select-pane on
            set-window-option -g mouse-select-window on
            set-window-option -g mouse-resize-pane on
            set-window-option -g mode-mouse on
            Ответить
            • што за ОС? что за эмулятор терминала?
              требуется больше инфы об окружении
              Ответить
  • Что лушче - котлин или сишарп?
    Ответить
  • Давайте

    Котлин это джава-без-говна. Я знаю что есть еще scala, но scala это ФП, а котлин в общем обычный мейнстримный ЯПчик только
    * с выводом типов
    * c топ левел функциями
    * с безопасным nullable
    * с потугами на pattern matching
    * с sealed классами (как enum с разными классами)
    * с интерполяцией строк
    * с потугами на функциональщину
    * с датаклассами
    * с пропертями
    * с кучей сахара
    * с корутинами
    Котлин сделали люди, которые 15 лет писали на джаве и которых она уж оче достала


    зы: кто первый оставит коммент под этим постом -- тот близкий друг Стертора и ОВНА одновременно
    Ответить
    • > но scala это ФП

      Ох, лол

      У котлина потуги примерно такие же, как у скалки
      Ответить
      • а компилируется он быстрее

        ну или, во всяком случае, не сильно медленее
        Ответить
      • Скалка - язык не для всех, типа лиспа.
        Ответить
          • Скорее для не таких как все. Я в душе неебу кто им пользуется.
            Ответить
            • А я никак не могу запомнить, чем отличаются "Scala" и "Scheme". У них названия похожие.
              Ответить
              • В схеме много скобочек, он же диалект лиспа
                В скале меньше скобочек
                Ответить
      • конечно же есть
        и влажная компиляция тоже
        Ответить
        • >>>"и влажная компиляция тоже"

          А в "PHP" её нет, что бы мне там не говорили.
          Ответить
            • Официальный "PHP" один, а высеры от данных сайтов, невзирая на всё наше к ним уважение, не в счёт.
              Ответить
              • >> высеры от данных сайтов,
                ничевосебе
                ты не уважаешь ВК и ФБ?
                Ответить
                • Уважаю - я бы и дырки свои Дурову с Цукербергом подставил, если бы эти сладкие мачо не являлись вымышленными персонажами; но я не вижу смысла в их компиляторах.
                  Ответить
                  • >>но я не вижу смысла в их компиляторах.
                    Это потому что у них на 2 млрд больше пользователей, чем у тебя
                    Ответить
    • Продолжаем течь:

      * есть lazy
      * есть делегирование, позволяющее в одну строчку заменить наследование делегированием
      * компиляция в native и в JS
      * замыкания (правда в жобе они тоже уже есть)
      * язык довольно иммутабл, есть явные иммутабл коллекции
      * если последний аргумент лямбда то можно писать foo(){doAll()}, что позволяет делать декларативно и DLSно (стырено у груви, вообще
      * есть потуги заменить груви на котлин в гредле)
      * офф поддержка ондроид от гугла
      * ЯП и IDE делают одни и те же челы
      * полный жабаинтероп
      Ответить
    • Котлин — это надстройка над жабой. Если из говна делать конфетку, получится конфетка из говна.

      Вспомните, сколько было попыток навернуть что-то поверх JS. Результат — потраченное время. Вангую, что то же самое будет и с попыткой натянуть жабу на глобус.
      Ответить
      • >>Котлин — это надстройка над жабой.
        лолшто? Что за хуйню я только что прочитал?

        >>было попыток навернуть что-то поверх JS.
        Отлично получалось. Взять хотя бы GWT. Семин одноклассник неплохо на нем зарабатывал.
        Или вот TypeScript. MS на нем уже IDE написали
        Ответить
        • >> Взять хотя бы GWT.

          Не нужен.

          >> Или вот TypeScript.

          Не нужен.

          Передний конец всех сайтов пишут на "JS", задний конец —— на "PHP" + "MySQL". Такие дела.

          Именно поэтому...
          Ответить
          • >>Не нужен.
            нужен

            >>Не нужен.
            нужен

            >>Передний конец
            >>задний конец
            тебе видней
            Ответить
              • Есть такое дело.
                Именно потому я против "Веб"а.
                Ответить
                • Единственный нормальный "Web" -— это тот, который придумал Дональд Кнут.

                  Хотя нет. Это же по сути программирование с аннотациями.
                  Ответить
                  • literate programming прекрасен, но если его пустить в большое "веб" плаванье то там его встретят ОВНы и скажут что в PHP нет Кнута, и значит Кнут не нужен
                    Ответить
                    • Пожалуй, да. При доктрине «хуяк-хуяк-в-продакшн», ставшей главным потоком, некогда документировать программы, поэтому literate programming не взлетит. «Олимпиадники» даже над именованием переменных голову не ломают.
                      Ответить
          • товарисчь ты застрял в прошлом веке. Все уже давно делают конец на nodejs + MongoDb
            Ответить
            • ахахах
              пускай пыхер и нодовец подеруца у кого конец лучше
              Ответить
        • Неплохо для человека еще не поступившего. А вообще я по нему особо вакансий не видел.
          Ответить
          • Много конкурентов появилось, да и сам JS стал менее противным.

            Но 10 лет назад это был прорыв: писать на джаве (даже шестой!) куда приятнее было чем на JavaScript в 2008 году
            Ответить
        • >>не
          >>ни
          Ого, на этом сайте не путают "не" и "ни"!

          По сути: JVM -- ОК (ну, почти ок). Java (как язык) -- не очень.
          Kotlin копелируется в оопкоды jvm разумеется
          Ответить
          • Я изо всех сил тужусь не забыть язык за границей, несмотря на крайне низкий уровень грамматики в инете. Хотя проще забить и писать как все.

            >ну, почти ок
            А что лучше? JVM на ведре есть.
            Ответить
            • >>JVM на ведре есть.
              Может и есть, но кому он там нужен?

              Я надеюсь вы все уже перестали называть ART JVMом?

              >>А что лучше?
              В определенных обстоятельствах лучше может оказаться .net или llvm

              Однако JVM это хорошо документированная, открытая, имеющая API для агентов профиляции и дебага, кросс-платформенная (mac, linux, windows от ОФИЦИАЛЬНОГО вендора ПРОДАКШЕН реди) виртуальная машина с очень простым ISA, с поддержкой JIT и под нее есть богатая стандартная библиотека
              Ответить
                • Ранше на вёдрах стоял Дальвик – виртуольная мшина от гугла, потом, по-моему на 5-м дроне его полность заменить на арт – он кинпелирует приложения во время усановки.
                  Ответить
                • Термином "JVM" обычно называют только виртуальную Java-машину Sun. Машины других разработчиков называют по-другому.

                  Чем ART отличается от Sun/Oracle JVM:
                  1. Внутренним устройством. Sun JVM стековая, ART и Dalvik регистровые.
                  2. Опкодами. Из-за другой архитектуры и набор опкодов будет другим. ART ещё и компилирует классы в нативный код.
                  3. Форматом файла классов и пакета. В Sun JVM используются class-файлы, в ART и Dalvik — dex-файлы. Да, и там, и там пакет является zip-архивом, но манифест разный и вообще всё разное.
                  Ответить
                  • Jar и dex еще друг в друга конвертируются один в один. Так что "всем" - ответ неверный. И чем же давлик лучше?
                    Ответить
                    • "ELF" можно сконвертировать в "PE", а "PE" можно сконвертировать в "ELF" ⇒ "Windows" ≡ "Linux".
                      Ответить
                    • >>Jar и dex еще друг в друга конвертируются один в один.
                      >>Так что "всем" - ответ неверный

                      Код на Pascal можно сконвертировать в код на Си, и наоборот.
                      Теперь я знаю что си это паскаль.

                      >>И чем же давлик лучше?
                      Лучше чем что? Чем JVM? Чем булочка с маком? Чем ART?
                      Ответить
                      • Чем твоя мамка. Jvm, конечно.

                        Да? Любой код на пасцалк конвертится в си без проблем?
                        Ответить
                        • У LLVM до версии 2.9 включительно был бэкенд "C", который любую программу (точнее, на любом языке, для которого есть фронтенд) переводил на "C".
                          Ответить
                          • Когда-то Objective C и C++ тоже "компилировались" в C.

                            Не скажу за CFront, но первые версии ObjC вообще реализовывались препроцессором
                            Ответить
                        • >>Jvm, конечно.
                          Дальвик регистровый

                          >>код на пасцалк конвертится в си без проблем?
                          Смотря что ты называешь "проблемами". В целом же код на паскале конверится в любой тюринг полный язык


                          На всякий случай еще раз:
                          Дальвик это не JVM.
                          ART это не JVM.
                          Тот факт что код под JVM можно транслировать в к под под Dalvik не значит что Dalvik это JVM.

                          Опкоды под JVM можно скомпилировать в код на x86 (это делает JIT).
                          Из этого не значит x86 это JVM
                          Ответить
                • >>А чем ART ен JVM?
                  всем

                  >>llvm це шо?
                  low level virt. machine. Такая виртуалка регистровая (что не характерно для виртуалок) но с вомзожностью динамического добавления регистров

                  Есть задние концы для генерации нативного кода под arm и x86
                  Передние концы для Objc/c/c++ (clang), swift итд

                  На BSD (включая Apple) копелятор сишечки дефакто, поддерживается apple
                  Ответить
  • Поскольку здесь обсуждают всякий офтоп, попробую и я.

    Кто-нибудь из вас забивал шурупы молотком? Как успехи?
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8