Вопрос Карьера в программировании

Регистрация
27 Июн 2013
Сообщения
74
Репутация
0
Спасибо
1
Монет
0
Я хочу стать программистом, но не совсем понимаю, в какой сфере хочу работать. Я сейчас изучаю язык питон, и у меня такой вопрос к опытным программистам: если я начну с питона, то мне потом будет легче изучать другие языки или нет? Что изучать после него? Куда меня возьмут потом?
 
Я вообще не опытный программист, но если ты сначала изучаешь хорошо питон и базовые алгоритмы, то потом тебе будет намного проще изучать другие языки
 
Вот тебе пример программы на Питоне которая берет массив исходных данных и строит из него бинарное (двоичное) дерево. Хотя бинарное дерево структура данных и не сложная, но код я кое-как разобрал только раза с третьего... Но в Питоне в основном именно такие штуки, просто там не будет class Node:
def __init__(self, data):
self.data = data
self.left = self.right = None
# вершина


class Tree:
def __init__(self):
self.root = None
# указатель на узел. Изначально пустой

def __find(self, node, parent, value):
if node is None:
return None, parent, False

if value == node.data:
return node, parent, True

if value < node.data:
if node.left:
return self.__find(node.left, node, value)

if value > node.data:
if node.right:
return self.__find(node.right, node, value)

return node, parent, False

def append(self, obj):
if self.root is None:
self.root = obj
return obj
# в дереве нет ни одного объекта. Новая вершина добавляется как корневая

s, p, fl_find = self.__find(self.root, None, obj.data)
# __find ищет родительский узел к которому нужно прицепить новый узел
# он возвращает (НЕ ПРИНИМАЕТ, А ВОЗВРАЩАЕТ) кортеж из трех значений - узел, его родитель, флаг Тру или Фолс
# принимает он следующие параметры
# self.root корень дерева
# None - родительская вершина для корня. У корня нет родителя
# obj.data - данные относительно которых ищем вершину к которой цепляем новую вершину
if not fl_find and s:
if obj.data < s.data:
s.left = obj
else:
s.right = obj
return obj

def show_tree(self, node):
if node is None:
return
self.show_tree(node.left)
print(node.data)
self.show_tree(node.right)


v = [10, 5, 7, 16, 13, 2, 20]
t = Tree()
for x in v:
t.append(Node(x))
t.show_tree(t.root)
 
"если я начну с питона, то мне потом будет легче изучать другие языки или нет?"Впринципе обособленно говоря если вы не знакомы вообще с программированием и языками программирования, то да легче. Но все познаеться в сравнении. Допустим если бы вы изучали c++ - java, c, python, go для вас был бы почти тем же.
Если же брать тему с python то другие языки программирования вам дадуться более труднее, но не так трудно если бы начали с нуля.

Что изучать после него? Спорный вопрос. Говоря чисто от себя я имею опыт работы на c, c++, c#, html, css, js (так же прилагающимися к ним фреймворками). Я знаю все на даннвй момент популярные действующие языки. В большинстве случаев это выручает. Если заказчику требуеться приложение под desktop то я уверено предлагаю WPF (.NET C#). Недавно пробовал себя в среде разработчика плагинов rust (C# + Unity). Вообщем на каждом языке можно выполнить все что угодно, но на некоторых языках это легче. Куда меня возьмут потом?Я не ванга как сложиться ваша судьба =)
 
Если ты начнёшь с Python, то потом - при переходе на языки, реально используемые программистами - придётся долго вытряхивать тот мусор, который напихает в твои мозги использование Python, специально предназначенного для НЕпрограммистов.

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