• Где можно попрактиковаться в php?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    Нет, писать CMS не стоит.
    Напишите блог на Yii2.
    Затем напишите простенький магазин (показ товаров по категориях) на Yii2, параллельно читая документацию.
    Как вариант можно Symphony выбрать или любой другой популярный фреймворк (Lavarel, CI, Zend (если с ума сошли), тысячи их).
    Но именно почувствуйте дух фреймворков. Тогда мозги будут работать в правильном направлении, а практику вы получите колоссальную. И, главное, научитесь на просто делать нормальные сайты, но и не создавать велосипеды.

    Как создавать блог на Yii2 вы найдете запросто, постепенно усложняйте его функционал и поймите принципы работы. Заодно сразу увидите, чего вы не знаете именно в синтаксисе PHP.
    Ответ написан
    14 комментариев
  • Что можно реализовать на разных языках программирования? С++ Java Python на какие ОС?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Бессмысленный вопрос. Программировать можно на чём угодно. И всё это бред про "начинать стоит с основ".
    Сделать следует две вещи. Порядок не важен!

    Выберите ту область, что нравиться. Ориентироваться стоит на не связанные с языком программирования вопросы. Например, для геймдева требуется любовь к играм, знание основ геймдизайна, много общения в этой сфере: потребуется огромный фидбек, и хорошо, если он будет получен за кружкой пива/кофе от знакомого человека, и да, чуть не забыл - много много упорства, иначе всё будет проваливаться. Тогда как для вебдизайна было бы не плохо иметь т.н. чувство вкуса, умение быстро переключаться между задачам т.к. часто приходиться вести несколько проектов сразу, знание цветов и их сочетаемость также не будет лишней, хотя сео скорее мертво, чем живо, понимание особенностей продвижения сильно поможет. То есть для разных сфер имеются множество особенностей, с которыми приходиться сталкиваться каждый день, но решая которые не будет написано ни строчки кода. Конечно, чем больше команда, тем больше разделение труда и тем меньше приходится вникать в те особенности, но, особенно на старте, эти вещи будут заметно помогать.

    Посмотрите на разные языки программирования. Здесь, наверное, следует исключить эзотерику и функциональщину, ибо с ними сложно что-то толковое сделать не имея опухоли мозга (шучу, конечно). Их много: python, c++, java, go, ecmascript, nasm, c# (mono)... Список огромен. Большинство из них распространились на огромные области. Не важно: геймдев, вебдизайн, банки, транспорт - в каждой из них можно применить практически любой инструмент. Более того, в каждой из них применяется часто сразу несколько инструментов. Так что первый выбор почти не на что не повлияет.

    Тут стоит сразу пару моментов осветить.
    Во-первых, матанозированность различна. Наименьшая она в вебе. Наибольшая, наверное, в банках. Где-то посредине геймдизайн, хотя не так давно, он был куда более матаноёмкий, сегодня большая часть матана закралась где-то в библиотеках (впрочем, с логикой всё равно придётся подружиться).
    Во-вторых, платформа. Некоторые языки заточены под одну платформу (c - *nix, c# - ms), что, в прочем, не запрещает их использовать на других платформах, там есть свои особенности (нормального чисто win'ового компайлера Си под вином до сих пор нет, а его WinAPI на Си убого чуть более чем полностью, тогда как порт c# - mono - имеет множество особенностей при работе на неродных платформах). А ECMAScript (js) вообще одно время работал только под браузером, хотя сегодня делать native-приложения на нём довольно затруднительно (если, конечно, ОС - это НЕ браузер), да и возможности его ограничены API браузеров, которые часто различаются между собой.

    Но это всё детали. Они есть везде. Можно делать backend на c++, можно на python, можно на node.js. Можно писать игры на C# (XNA/Unity/monogame), можно на js (браузерные игры сегодня распоряжаются и webgl). Так что что больше нравиться, то и изучайте. И не стоит с основ. И тем более не стоит отождествлять Си и "основы основ".
    Ответ написан
    Комментировать