Home / Companies / Tabnine / Blog / January 2020

January 2020 Summaries

3 posts from Tabnine

Filter
Month: Year:
Post Summaries Back to Blog
JavaScript code can be organized using either a library structure or a framework, both of which often involve modules—self-contained clusters of code that can be imported or exported to enhance functionality. Node.js, a server runtime environment, enables JavaScript to run outside a browser, facilitating the use of frameworks and libraries. Key components like the `require()` function allow developers to import modules such as the HTTP server module Express into their projects, which are stored in the node_modules folder. npm, the package manager for JavaScript, automates the installation, upgrading, and removal of libraries and frameworks, using package.json to handle project dependencies. This JSON file, created with npm init, contains essential information about the project and its dependencies, allowing for efficient code sharing and collaboration. While npm is the default package manager, Yarn offers an alternative, maintaining compatibility with npm's conventions. Although modules are typically stored in the node_modules folder, Yarn allows for customization of this path. Generators like Angular CLI and Vue CLI can automatically create a package.json, simplifying the setup process for new developers. Despite its simplicity, package.json can become complex as projects grow, making package managers essential for efficient and error-free development workflows.
Jan 20, 2020 1,326 words in the original blog post.
The parallels between ancient Greek mythology's power struggles and the modern programming world set the stage for a discussion on using Python within the Intellij IDEA environment. While PyCharm, JetBrains' standalone IDE for Python, remains popular due to its simplicity and specialized features, Intellij IDEA offers comprehensive Jython support, making it a better choice for projects requiring Java/Python integration. To harness Python's full potential in Intellij IDEA, users can install the official Python plugin, which is compatible with paid versions and expands the IDE's functionality to match PyCharm's capabilities. Additionally, a variety of plugins, such as Pylint for real-time code linting, Python Smart Execute for efficient code execution, and AI-based tools like Tabnine, enhance the development experience by improving code quality, identifying bugs, and increasing productivity. These tools, along with other specialized plugins like MyPy, DeepBugs, and Live Coding in Python, provide developers with a robust and versatile environment for Python programming within Intellij IDEA.
Jan 09, 2020 1,093 words in the original blog post.
Java, a long-standing programming language, remains relevant due to its flexibility and scalability, powering some of the world's most complex systems. While alternatives like Scala and Kotlin exist for specific uses such as Android development, Java continues to thrive, supported by a deep understanding of its core object-oriented programming (OOP) principles. Becoming a proficient Java developer involves more than just learning its syntax; it requires experience and mastery of design principles, such as DRY, abstraction, polymorphism, and encapsulation, which enhance code reuse, efficiency, and maintainability. Additionally, the SOLID principles—Single Responsibility, Open Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion—are essential to creating understandable and adaptable code as applications grow. These concepts ensure that Java developers can build applications that are both robust and easy to maintain, benefiting from established design patterns that enhance functionality and reduce complexity.
Jan 02, 2020 1,467 words in the original blog post.