You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,15 @@ Sample api in REST built on python that provides autocomplete suggestion for cit
6
6
This repo is a fork of [Coveo Backend Coding Challenge](https://github.com/coveo/backend-coding-challenge) and represents my solution proposal to its challenge at the date of the fork.
7
7
8
8
## Language of choice : Python
9
-
I built this application using Python version 3.6. By the time I coded this, I was not literate in this language. I didn't have any previous background prior to this small test. Even its famous libraries are relativelly unknown to me. But altough it's the first time I write in python, I do take responsability for the design choices I made with the languages capabilities that I discovered whlist building this simple app.
9
+
I built this application using Python version 3.6. By the time I coded this, I was not literate in this language. I didn't have any previous background prior to this small challenge. Even its famous libraries are relativelly unknown to me. But altough it's the first time I write in python, I do take responsability for the design choices I made with the languages capabilities that I discovered whlist building this simple app.
10
10
11
11
### Why this language ?
12
-
Honestly, I didn't overthink in order to chose Python for this challenge this language.
12
+
Honestly, I didn't overthink in order to choose Python for the challenge.
13
13
- I wanted to use a language that I didn't have any previous knowledge because my primary intention is to learn and stimulate my brain, not to show off. It also has a lot of scripting traits (which envolves a different mindset from what I am used to) and it seemed easy to take a grasp.
14
14
- It's validated by the community : widely appreciated, trending, relatively mature (still have its way to grow though).
15
15
16
-
### Popular choice on academic research
17
-
Another reason that I considered for this was the fact that this language has become very popular inside universities. Altough I've never built an autocomplete algorithm before, I foresaw that I would need some specialized data structures and/or ML algorithms, ressources that are constantly improved on academic research and are largely available with permissive licenses in this language.
16
+
####Popular choice on academic research
17
+
Another reason that I considered for this was the fact that this language has become very popular inside universities. Altough I've never built an autocomplete algorithm before, I foresaw that I would need some specialized data structures and/or ML algorithms, ressources that are constantly improved on academic research and are largely available with permissive licenses on this language.
18
18
19
19
### My firsts impressions while building this
20
20
@@ -25,9 +25,9 @@ Another reason that I considered for this was the fact that this language has be
25
25
26
26
##### Cons
27
27
- A little too much permissive for my personal taste. At the root level, everything is public. Maybe it's just a shift of perception, but this kind of openess is a little odd for me, since it might open space to some unwanted, non-orthodox creativity from unexperienced developers.
28
-
-With the evolution of the language, we have a lot of ways of doing pretty much the same thing. Take async/await on python 3.X, for example. There are just a lot of different patterns that were created from the beginning of the language until now and you can achieve similar results with very different syntaxes. Some choices becomes confusing when your introduction to the language is on a late version. I feel like I mixed old and new patterns in this coding challenge.
28
+
-The language changes (that's only natural) and so does the syntax for achieving a result. However, I stumbled across async/await on python 3.X, for example, and found a lot of different patterns (some created on the beginning of the language, others rather recently) and you can achieve similar results with very different syntaxes. Some choices becomes confusing when your introduction to the language is on a late version. I feel like I mixed old and new patterns in this coding challenge.
29
29
30
-
But in summary, the **Pros** wheights much more than the **Cons** tough.
30
+
But in summary, the language is awesome and its **Pros** wheights a lot more than these small **Cons**.
31
31
32
32
## IDE of choice : Visual Studio Community 2017
33
33
I consider myself relatively proficient on Visual Studio, so it was my first choice of IDE. The idea was to invest time on the learning curve through the core concepts of the language and gain time on the tools. My intention was to lever from that VS way of creating some closed tiers of abstraction on the IDE in order to hide and handle some command lines, marginal downloads, installations, etc. Not the wisest choice, I guess. Identation/spacing bugs on the text editor has been annoyingly painful and cost me some precious time. Besides, I'm missing some alerts and errors on compilation time.
0 commit comments