Pull to refresh
  • by relevance
  • by date
  • by rating

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

Lisp *
Наверное, эту статью стоило опубликовать перед предыдущими двумя, в этом моем цикле про Common Lisp, но лучше уж поздно, чем никогда.

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

Но сейчас я пришел к выводу, что это утверждение всё же верно.
Читать дальше →
Total votes 95: ↑82 and ↓13 +69
Views 6.6K
Comments 49

Большой список 256-ти языков программирования

Website development *Programming *
Скоро лето, и каникулы или отпуск — не за горами. Для тех, у кого появится свободное время, Роберт Диана вместо обычного бездельничества предлагает выучить новый язык программирования.

Читать дальше →
Total votes 40: ↑18 and ↓22 -4
Views 60K
Comments 42

Kotlin 1.0. Задай вопрос команде

JetBrains corporate blog Java *Development of mobile applications *Development for Android *Kotlin *
На этой неделе случилось важное для нас событие — вышла первая версия языка программирования Kotlin! Так как почти вся разработка Kotlin велась в Питерском офисе компании JetBrains, многие хабровчане уже знают, что такое Kotlin и пробовали его на практике, поэтому этот пост больше для комментариев: задавайте любые вопросы и команда Kotlin ответит. Мы онлайн!

image

Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Views 25K
Comments 176

Изучите все языки программирования

Инфопульс Украина corporate blog Abnormal programming *Programming *Perfect code *Compilers *
Translation
Когда я был ещё первокурсником, то познакомился с другим студентом, который утверждал, что может писать код на любом языке программирования, который я смогу назвать. Я был несколько шокирован и ответил подначкой:

— Что, даже на том нечитаемом эзотерическом языке, где есть всего пара команд, которые едва-едва симулируют машину Тьюринга?
— Да, этот язык называется brainfuck. Я знаю brainfuck.

И это был не трюк — мы проверили. Я называл известный мне язык программирования, он тратил пару минут в Интернете на то, чтобы освежить свои знания по нему — и был способен писать на этом языке работающие алгоритмы. Я никак не мог понять этого. Ему, как и мне, было тогда около 18 лет — как он мог в этом возрасте знать все эти языки?

image
Интерпретатор brainfuck, написанный на brainfuck

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

Сегодня я советую своим студентам «постараться изучить все языки программирования». Подумайте сами — ведь эта идея лучше, чем все вот эти «В этом году я выучу Go! Ой, нет, теперь говорят что в моде Rust — выучу лучше Rust! Или Swift ...». Просто выучите все — не ошибётесь. А эта статья, возможно, вам в этом немного поможет.
Читать дальше →
Total votes 89: ↑81 and ↓8 +73
Views 82K
Comments 94

JetBrains MPS — IDE для разработки проблемно-ориентированных языков программирования

Programming *Java *
Sandbox

Введение


MPS — это среда разработки языков программирования на платформе Intellij Idea. Она предоставляет возможность моделировать языки программирования, описывать структуры, сосредотачиваясь конкретно на дизайне и бизнес-логике, не отвлекаясь на парсеры, лексеры и различные сторонние фичи языка. Что нужно сразу обозначить: язык, который разрабатывается с помощью MPS, не компилируется в рабочую программу. Чаще всего он генерируется в модели других языков либо в текстовую форму.

Почему я решил написать этот пост? Я считаю, что это очень недооцененная возможность, а недооценена она потому что порог вхождения очень высок, плюс это один из самых непопулярных продуктов JetBrains.

Документация очень подробная, описывает все возможности, но если нет осознания «что я делаю и зачем мне это делать», то она вряд ли будет полезна. Также есть серия уроков от JetBrains на YouTube, но опять же, я более-менее начал понимать, что происходит, только после двух просмотров всей серии и досканального изучения предлагаемых sample проектов.

Я планирую написать серию постов об этой замечательной среде, чтобы по окончанию прочтения у энтузиастов оставалось как можно меньше вопросов «как сделать эту штуку», и как можно больше понимания структуры, чтобы можно было эффективно пользоваться документацией. Познавать MPS мы будем во время создания языка для описания закономерностей погоды. Почему, собственно говоря, и нет?
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 13K
Comments 28

Топ 8 лучших ресурсов для практики программирования в 2018

JavaScript *
Привет, Хабр! Представляю вашему вниманию перевод статьи Top Coding Challenge Websites of 2018 автора Trey Huffine.

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

На чем бы вы не кодили: Python, Ruby, JavaScript, Golang, TypeScript, или еще какой-то язык, вы найдете здесь ресурс под ваши потребности. Чтобы научиться программировать — нужно программировать.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 146K
Comments 14

Песочница и шпаргалка по изучению Python

Python *Programming *Learning languages

Изучать Python3 я начал с документации на официальном сайте. Мне понравились примеры кода, но, к сожалению, они были там не интерактивными. Хотелось попробовать выполнить код самостоятельно, с разными входными данными и посмотреть на выводимый результат. Так же мне лично легче запоминаются конструкции языка, если я их набрал несколько раз вручную. Python консоль для этого подходит отлично, но хотелось так же иметь своего рода шпаргалку, к которой можно было бы вернуться при написании программ в дальнейшем, если, например, возникнет вопрос, как в Python-е написать цикл for и т.п. И последней каплей стало желание автоматической проверки стиля написания кода в соответствии с существующими стандартами. Читать и вникать в них было лень, поэтому хотелось чтобы проверка кода была автоматической и подсказывала какие ошибки я делаю и как их исправить.


В итоге все свои эксперименты я вылил на GitHub.


Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Views 49K
Comments 21

К чему готовиться в 2019 году: тренды в программировании

Plarium corporate blog Python *JavaScript *Programming *C++ *
Translation
Перед вами перевод статьи пользователя под ником Constantin, опубликованной на ресурсе hackernoon.com. Под катом можно узнать, какие из языков программирования сегодня достойны того, чтобы их освоили.


Читать дальше →
Total votes 33: ↑20 and ↓13 +7
Views 29K
Comments 33

10 Tips for Being a Good Tech Lead

Programming *
Sandbox
Leadership is not a service, it’s a skill. Professionals working as a software developer for a couple of years are given the chance to be a tech lead. However, remember that ‘with great power comes great responsibility.’

There are several things that you need to take care of while being a tech lead. Obviously, you don’t need to code as much as you need to do while being a software developer. However, there are several other non-coding related things that now are your responsibility to deal with.

10 Tips for Being a Good Tech Lead


Maintaining a tech lead position while not gaining any criticism from the team isn’t possible. This is not due to your incapacity albeit due to human nature. However, the effort can be made to minimize it and becoming better in what you do eventually. After all, you are the leader now.
Read more →
Total votes 19: ↑19 and ↓0 +19
Views 8.3K
Comments 4

Языки программирования: PowerShell захватывает всё больше разработчиков под Linux, macOS и Windows

Cloud4Y corporate blog Open source *Programming *PowerShell **nix *


Публикация компанией Microsoft исходников скриптового языка PowerShell вызывает отклик у всё большего числа разработчиков. По-видимому, это недавнее решение Microsoft начинает окупаться. В индексе TIOBE (The Importance Of Being Earnest) он появился в топ-50 самых популярных языков программирования.

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

Дебют PowerShell на Linux и macOS в 2016-м году состоялся после того, как генеральный директор Microsoft Сатья Наделла (Satya Nadella) сказал, что «Microsoft любит Linux», а его предшественник Стив Балмер (Steve Ballmer), что вообще-то Linux — это не злокачественная опухоль.

Читать дальше →
Total votes 54: ↑23 and ↓31 -8
Views 23K
Comments 41

Автоматизации бизнес процессов компании в Trello с использованием технологии семантического моделирования

Semantics *Programming *The future is here
Sandbox
В последние годы все чаще говорят о Trello, как о прекрасном инструменте для организации и планирования. В нашей компании мы вот уже 3 года используем Trello для планирования многих процессов, начиная с отпусков, командировок и согласования договоров и заканчивая управлением проектами.

К сожалению, не все так прекрасно в Trello. На нем нельзя сделать кастомный workflow. То есть нам нужно занять одного сотрудника, который будет в различных досках перетаскивать карточки руками. Как же сделать так, чтобы этого сотрудника можно было перевести на другую, более интересную и творческую работу?

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

Семантическое моделирование позволяет всю логику работы доски в Trello записать на естественном языке.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 7.4K
Comments 4

Python Vs R — Data Science

Python *Programming *R *Learning languages
Tutorial
When mulling over the best programming language to use for data science, Python and R ring a bell (very quickly). While there are a lot of languages like C, C++, Java, Julia, Perl, and Scala, it's protected to state that Python and R are the harbingers in data science.

While a great deal of data researchers will discuss the customary shortcomings like data wrangling in R or data representation in Python, ongoing improvements like Altair for Python or R have adequately reacted to these shortcomings.

So which one would it be a good idea for you to decide for your next data investigation venture?

R has been ruling this space for a long time now. This bodes well as this programming language was explicitly intended for analysts.
Read more →
Total votes 11: ↑11 and ↓0 +11
Views 3.4K
Comments 0

Внутренности Go: оборачиваем переменные цикла в замыкании

Badoo corporate blog High performance *Programming *Assembler *Go *
Translation


Сегодня я решил перевести для вас небольшую статью о внутренностях реализации так называемых замыканий или closures. В дополнение вы узнаете о том, как Go пытается автоматически определить, нужно ли использовать указатель/ссылку или значение в разных случаях. Понимание этих вещей позволит избежать ошибок. Да и просто все эти внутренности чертовски интересны, как мне кажется!


А еще я хотел бы пригласить вас на Golang Conf 2019, которая пройдет 7 октября в Москве. Я член программного комитета конференции, и мы с коллегами выбрали много не менее хардкорных и очень, очень интересных докладов. То, что я люблю!


Под катом передаю слово автору.

Читать дальше →
Total votes 73: ↑72 and ↓1 +71
Views 12K
Comments 8

Python vs JavaScript: Which One Can Benefit You The Most?

Website development *Python *JavaScript *Programming *Django *
Sandbox


The web development arena is moving at a fast pace and has reached an advanced stage today. Python and Javascript making some significant contributions for almost three decades. Now, being a developer or a business if you are planning to pick one of these, then it’s going to be tough just because both are too good to avoid. Hence, this brings up the topic ‘Python vs JavaScript: Which One Can Benefit You The Most?’

These two languages are supported by various trending web frameworks and libraries which are the real game-changers. The introduction of these frameworks and libraries to the web ecosystem has brought new paradigms, traditional notions, and standards of software development.
Read more →
Total votes 12: ↑10 and ↓2 +8
Views 19K
Comments 3

Лучшие практики и инструменты при разработке iOS приложений

Programming *Development for iOS *Development of mobile applications *Objective C *Swift *
Translation
Разрабатывая мобильные приложения, мне не раз приходилось создавать проекты с нуля. При этом я и моя команда всегда тратили много времени на основную настройку проекта, такие как интеграция сторонних инструментов, настройка структуры проекта, написание базовых классов, интеграция внешних библиотек и т.д.

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

Каждый инструмент или подход, добавленный в шаблон, заслуживают отдельной статьи, но я хотел бы попытаться суммировать каждый пункт и дать краткое объяснение того, почему я включил их в данную статью.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 6K
Comments 14

Python for AI: A match made in heaven

Python *Machine learning *Software Artificial Intelligence AR and VR
The artificial intelligence global market is expected to reach $190 billion by 2025. The bright future of this technology allures every entrepreneur. In fact, when we think about the technologies that are going to rule in the future, the one name that comes to our minds is ~ Artificial intelligence.

AI along with its subsets like machine learning and deep learning is making such things possible which were unimaginable by humankind a few years back. It is affecting the realities and sometimes changing reality completely.



The power of AI is well acknowledged by businesses as 84% of respondents in a study voted that they believe artificial intelligence will allow them to enjoy a competitive edge over competitors.

Although entrepreneurs have an idea about AI but what most of them lack is proper implementation. The use of optimum programming tools for a complex technology like AI can create wonders for the world of business.

Every custom web developer knows that a python is an apt tool for building AI-enabled -applications. The language has been used to create 126,424 websites so far. Since its launch in the late 1980s, python has seen remarkable growth not only in users but in applications too.

Python is the favorite language for software developers to create applications that have artificial intelligence, machine learning, etc features embedded in them. But there are reasons behind everything.

This blog is written with the intent to unveil these reasons. Let’s explore why python is extensively used in AI-enabled software development services.
Read more →
Rating 0
Views 4.4K
Comments 0

Cracking Reduce Concept In Just 10 Minutes

JavaScript *Programming *Functional Programming *


Being a developer, I love to code especially in JavaScript. As per my experience, using reduce function is one of the toughest tasks in JS. Let me first elaborate on the Reduce concept!

In Wikipedia, it has many names viz.

Reduce
Fold
Accumulate
Aggregate
Compress

It is a function that folds a list into any data type. It's all about breaking a structure down into a single value. It's like folding a box! With reduce, you can turn an array [1,2,3,4,5] into the number 15 by adding them all up.
Read more →
Total votes 6: ↑5 and ↓1 +4
Views 995
Comments 0

10 советов для того, чтобы быть хорошим техническим лидером

Programming *Personnel Management *
Sandbox
Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Tips for Being a Good Tech Lead»
автора VijayDeveloper.

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

Существует несколько вещей, о которых необходимо позаботиться, будучи техническим лидером. Очевидно, вам не нужно писать код столько, сколько этого бы потребовалось, будучи разработчиком программного обеспечения. Тем не менее, есть вещи, не связанные с кодом, которые теперь являются вашей обязанностью.
Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Views 7.8K
Comments 8

MobX or Redux: Which is Better For React State Management?

Website development *JavaScript *Programming *Perfect code *


In JavaScript, state management is a hot of discussion these days. When it comes to implementing state management, developers often find it challenging dealing with boilerplate code in Redux. Hence, MobX has proved to be a good alternative to Redux which gives the same functionality with less code to write. However, both state management tools work well with React.

Let's first have a look at the common things between the two:

1) Both support time-travel debugging
2) Both contain open-source libraries
3) Both provide a client-side state management
4) Both provide huge support for React native frameworks

In this blog, we have listed all the pros and cons of both state management solutions. It will help web developers to choose the best one for their next project. Before discussing this, we have compared both Redux and Mobx based on some parameters as given below:
Read more →
Total votes 1: ↑1 and ↓0 +1
Views 15K
Comments 0

6 основных библиотек для программирования на Python

Python *Programming *
Sandbox
Привет, Хабр! Представляю вам перевод статьи "6 Essential Python Libraries for Python Programming" автора VijayDeveloper.

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

Являясь одним из ведущих языков программирования, он имеет много фреймворков (платформ для построения приложений) и библиотек, которыми можно воспользоваться. Библиотека языка программирования — это просто набор модулей и функций, которые облегчают некоторые специфические операции с использованием этого языка программирования.
Читать дальше →
Total votes 38: ↑13 and ↓25 -12
Views 49K
Comments 11
1