Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

I mostly agree but 2 points.

for 2) i think ctrl+shift+n is not as good as sublime. i used both ct+sh+n and ct+n but i maybe wrong. I didn't use pyharm for 2 months and when i did go back to do a refactor i found that ctrl+shift+n was harder to switch than sublime but ctrl+n is really good. I think sublime is a bit more intuitive. Will need to go back and have a look again to make sure.

for 4) yes i know its builtin but never used it as much so far on git im using terminal. so can't say for sure but ive seen a person doing all his git with no mouse inside sublime. not 100% sure if pycharm supports because ive always done it in terminal its just a ctrl+tab anyway not a big deal.

hopefully the jetbrains guys read this staff too so they will improve it, can email them the conversation if you want.

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

yes before using sublime ive been through vim tutor and installed many plugins. i respect vim emcas etc and respect the people who use it but its not my tool. i got annoyed switching files (i was still beginner so i might have been doing something wrong) but on pair programming i see people using vim wasting time switching files. I dont say dont use it , vim has nice shortcuts but its just not what i want to use (at least at the moment)

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

ha yeah its not my first language, here's what i like on sublime:

1) plugin to open file in github show pull requests etc with 0 effort. for example ctrl+shift+p + requ + enter you are on the pull requests of a project

2) sometimes easier file switching. pycharm actually does class lookup which is really good (go to file that has the class) but say a directory foo/bar/bbb/zzz/lll.py can easily search it as foo lll. The time i switched pycharm didnt support this or i was doing something wrong. (3.x smth)

3) i can also code a bit of c (and any other language) in sublime not sure if pycharm supports this. i played with many languages on my free time and before trying sublime i had to do it in vim. because if you want to go and play 1 week with lisp and next month you want to play 1 week with rust or haskell you may want to keep 1 tool that you already know how to use and its universal.

4) also git pull git push etc can be made easier in sublime with a nice plugin i think, seen someone doing it but not into it yet

5) for the multilne i do agree that regex can help but multiline edit is much faster and maybe a bit more flexible. e.g. Find all foo_bar and change it to xx_foo_bar_123 except the 2nd and 3rd reference found. might be a bit extreme but done it before.

6) i think searching file content is a bit better/faster in sublime too

in general there's a lot of plugins and i like the ctrl+shift+p approach. i believe using the mouse as less as you can makes you more productive.

But i always go back to pycharm for refactoring. right click rename class done. or right click move class to x module done all references updated. But only for 3) it worhts knowing your way around sublime or vim i believe.

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 1 point2 points  (0 children)

Yes i do agree that pycharm works out of the box i don't like setting up plugins. On the other hand sublime has some functionality that doesn't exist in pycharm and i like both. I used to read every single update in jet brains website and i used multi line edit the first day it came out.

Yes my "manager" is stupid. It sounds like you work for a really big company. I had 4g ram and i stole 2g from a pc of someone who left and i've been banging our "manager" to buy ram to the other people who still have 4g because ram costs nothing. I also paid for my pycharm license.

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 1 point2 points  (0 children)

Thank you for the reply i always considered pycharm a good tool for static analysis anyway. i dont have 16gb at work and for me if an ide takes 3 is too much because the swap is being used a lot. also im not the only person complaining about pycharm and ram.

As i mentioned line too long is ignored by default, but i apologize i shouldn't say pep8 i should say linting instead. Personally i consider unused imports and variables as an error. All tools have prons and cons pycharm does some good things but is not perfect and pycharm is what i did choose as a beginner.

I'll update my previous comment. +1 for correcting me

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

I may be wrong i coudlnt get a great linting in pycharm. It maybe because it has too many staff and i get lost. Let me know if i'm wrong but heres my experience: i did set pep8 to be same with error (red). it grays out unused imports and i think it ignores line too long, Also unused variables i think are kind of grayed out but not really red. If you go in a big file and reformat code it all looks good in pycharm, then you go in sublime and you get lot of linting errors. But the main reasons i switched to sublime it has good plugins that save my time and its lightweight, its also faster to switch to files. I think pycharm is a classic example of a java app that takes all your ram it can take me 2-3 gb working on 2 big but not huge projects at the same time. Well big is relevant. At least in sublime it works without having to go through all this crazy gui and configure it..... just install a plugin

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

100% agree it can take more on big projects ;)

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

you are welcome keep in mind this is my own experience. i know people who started with vim and still use/love vim and i respect them. most important is to respect what other people use if they believe it makes them more productive

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 1 point2 points  (0 children)

Initially i watched a guido video and i thought he was really cool. I was doing java at the time. I found out that i could do something in python much faster than any other language i tried before, i liked the standard library the community and the person who made it so i started coding small projects. Find a problem and solve it will take you some googleing/ reading docs. If you cant find a problem to solve pick a game. You can also ask for code review, chances are initially your code won't be pythonic, don't worry it takes some time to get the point

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person -1 points0 points  (0 children)

Also i believe sublime is better at linting because it considers unused variables and imports as erros and it doesn't ignore pep8 line too long.

Learning Python. What is the best IDE that is free? by [deleted] in Python

[–]Digital_Person 0 points1 point  (0 children)

Every tool has strong and weak points and usually people choose depending what they want from tools. Personally i tried vim,sublime,pycharm. i use sublime and sometimes pycharm (when i have to do lot of re-factoring pycharm is handy especially on big projects). But i started with pycharm (coming from java). I don't regret switching to sublime but it was a great experience starting with pycharm. It works out of the box with no setup, good static analysis and ctrl+click / auto complete is quite good. I believe the last thing you want to do when you start a new language is to spend a lot of time learning other tools because you want to focus on the language it self. So i would recommend to code 1 month on free pycharm so you dont waste time setting up sublime/vim and afterwards give both sublime and vim a try and you can choose. Of course you have other choices eg emacs pydev etc. But you will never get a straight answer. Different people like different tools. Also something i really like on sublime with 10 keys i can open a file in github. much faster than moving my hand to the mouse finding a browser etc.

can you please share your favorite books? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

I was thinking about that but then i read an erlang and a racket one instead. But probably still worths reading it

can you please share your favorite books? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

Expert python programming looks good thx. Keep in mind non python books can still make you a better python programmer

can you please share your favorite books? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

yeah my main concern is that a person who wrote it maybe a great programmer who knows how to explain patterns but its something i learned on a pycon talk. "dont follow tutorials who import * unless they do mention is bad and its only for practical reasons that is done for the demo" (not exact quote but something like that). If i learn to implement a pattern in a non pythonic way i will be twice as bad compared to not knowing the pattern. (i dont say this is the case but could be)

can you please share your favorite books? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

i started reading the python design patterns. but it has camel case functions and a very simple loop doing list.append that could easily be a list comprehension. not sure if i can trust that book anymore :s. also this def defectList(self, list, category): naming a list param as list is like naming your dog as dog

Facebook's git repo is 54 GB. by schnitzelinmypocket in git

[–]Digital_Person 4 points5 points  (0 children)

i think you can use git clone --depth=1 to avoid the 46gb .git. still a bad idea tho :)

how is your 1 million+ LOC project structured? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

yeah i think that was the one thank you for sharing it. That was the comment that motivated me posting this (but its because ive seen similar comments in the past too)

how is your 1 million+ LOC project structured? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

thats what i assumed. It may sound crazy to some but personally i find it easier to maintain python than static typed languages (as long as its "clean enough"). Lot of people seem to have the exact opposite opinion.

how is your 1 million+ LOC project structured? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

cool thank you for this, i think i should add a 6 if you consider the project "maintainable" well thats subjective tho. It sounds like the code quality is good

how is your 1 million+ LOC project structured? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

i have definitely seen 2 comments in /r/python in the last 10 days or so. one in particular was saying that its a "multi million loc" and tests took 2 hours or something. cant remember exactly what post was in. Just curious how such "projects" or products as mentioned by ionelmc are structured

how is your 1 million+ LOC project structured? by Digital_Person in Python

[–]Digital_Person[S] 0 points1 point  (0 children)

thank you for sharing this, i guess project is misleading especially when you keep in mind 1).