A linguagem Ruby foi criada em 1995 no Japão por Yukihiro Matsumoto para ser legível e agradável de programar, inspirada em linguagens como Perl, Smalltalk e Lisp. Ruby é orientada a objetos e funcional, e seu framework Rails popularizou seu uso.
O documento descreve as vantagens de Ruby, incluindo sua simplicidade e expressividade. O autor também discute como Ruby permite a criação de domínios específicos através da metaprogramação.
O documento discute como o código fonte é transformado em um programa executável através da compilação e ligação. Explica que o compilador converte o código fonte em código de máquina e que o ligador junta os arquivos objeto gerados em um arquivo executável que o sistema operacional possa usar.
Essa apresentação passa uma visão de avaliação da linguagem Ruby, como Legibilidade, Redigibilidade, Confiabilidade.
Também cita características que enriquece a linguagem Ruby.
O documento descreve a linguagem de programação C, criada em 1972 por Dennis Ritchie para desenvolver o sistema operacional Unix. A linguagem influenciou várias outras linguagens e foi padronizada pelo ANSI entre 1983 e 1989. O documento discute características da linguagem como variáveis, tipos, operadores e fluxo de controle.
O documento resume a linguagem de programação Ruby, incluindo sua criação, influências, versões, exemplos de uso e características principais como tipagem dinâmica, classes, métodos e variáveis.
[1] A linguagem Pascal foi criada por Niklaus Wirth em 1970 como uma ferramenta educacional, baseada em ALGOL e PLI. [2] O Turbo Pascal da Borland popularizou a linguagem nos anos 1980 ao trazer um ambiente de desenvolvimento integrado. [3] O Pascal Zim! é um compilador Pascal livre usado no Brasil, enquanto o Turbo Pascal comercializado pela Borland teve grande influência na linguagem.
O documento apresenta uma introdução à linguagem de programação C++, descrevendo sua origem e características principais, como a compatibilidade com C e suporte a múltiplos paradigmas de programação, com foco na programação orientada a objetos. Apresenta também exemplos de aplicações, vantagens, desvantagens e compiladores para C++.
A linguagem Ruby foi criada em 1995 no Japão por Yukihiro Matsumoto para ser legível e agradável de programar, inspirada em linguagens como Perl, Smalltalk e Lisp. Ruby é orientada a objetos e funcional, e seu framework Rails popularizou seu uso.
O documento descreve as vantagens de Ruby, incluindo sua simplicidade e expressividade. O autor também discute como Ruby permite a criação de domínios específicos através da metaprogramação.
O documento discute como o código fonte é transformado em um programa executável através da compilação e ligação. Explica que o compilador converte o código fonte em código de máquina e que o ligador junta os arquivos objeto gerados em um arquivo executável que o sistema operacional possa usar.
Essa apresentação passa uma visão de avaliação da linguagem Ruby, como Legibilidade, Redigibilidade, Confiabilidade.
Também cita características que enriquece a linguagem Ruby.
O documento descreve a linguagem de programação C, criada em 1972 por Dennis Ritchie para desenvolver o sistema operacional Unix. A linguagem influenciou várias outras linguagens e foi padronizada pelo ANSI entre 1983 e 1989. O documento discute características da linguagem como variáveis, tipos, operadores e fluxo de controle.
O documento resume a linguagem de programação Ruby, incluindo sua criação, influências, versões, exemplos de uso e características principais como tipagem dinâmica, classes, métodos e variáveis.
[1] A linguagem Pascal foi criada por Niklaus Wirth em 1970 como uma ferramenta educacional, baseada em ALGOL e PLI. [2] O Turbo Pascal da Borland popularizou a linguagem nos anos 1980 ao trazer um ambiente de desenvolvimento integrado. [3] O Pascal Zim! é um compilador Pascal livre usado no Brasil, enquanto o Turbo Pascal comercializado pela Borland teve grande influência na linguagem.
O documento apresenta uma introdução à linguagem de programação C++, descrevendo sua origem e características principais, como a compatibilidade com C e suporte a múltiplos paradigmas de programação, com foco na programação orientada a objetos. Apresenta também exemplos de aplicações, vantagens, desvantagens e compiladores para C++.
Palestra apresentada no 12º Encontro de Programadores C e C++, realizado no Rio de Janeiro no dia 15 de Agosto de 2015.
Vídeo da apresentação em https://youtu.be/JjANXR-diTM?t=18382
Lisp é uma linguagem de programação funcional criada em 1956 por John McCarthy para processamento de listas e aplicações de inteligência artificial. Lisp tem como características principais tipos de dados como átomos e listas, funções de ordem superior, diversos dialetos e implementações, e avaliação independente da ordem das expressões.
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
Apresentação criada em 2017.2 para as aulas de Lógica de Programação e Algoritmos; e Programação de Computadores.
Apresenta os principais conceitos da linguagem de programação C.
O documento apresenta a história e características da interface de desenvolvimento Delphi. Detalha suas principais versões desde 1995 e fala sobre seu criador, Anders Hejlsberg. Também explica conceitos como programação orientada a objetos, programação orientada a eventos e compilação.
O documento discute as principais novidades do C# 7, incluindo construtores primários, expressões de corpo em membros de função, await dentro de expressões catch e finally, propagação do operador null, static using, filtro de exceção, expressão nameof e interpolação de strings. Ele também fornece referências para obter mais detalhes sobre essas funcionalidades.
O documento apresenta uma introdução ao PHP, descrevendo sua história, propósito e ambientes de programação. A linguagem PHP permite a criação de páginas web dinâmicas e é compatível com diversos sistemas operacionais e bancos de dados. O documento também explica conceitos básicos de HTML e como a linguagem de scripting do PHP funciona.
1. A aula introduz o PHP, abordando sua história, características e estrutura básica.
2. Variáveis, constantes, tipos de dados e operadores são explicados. Exemplos ilustram o uso de variáveis, operações matemáticas e lógicas.
3. O documento fornece os conceitos fundamentais da linguagem PHP para iniciantes.
O documento apresenta uma aula introdutória sobre PHP. Aborda os objetivos da aula, a introdução à linguagem PHP, sua estrutura e sintaxe, variáveis, constantes e operadores.
O PHP foi criado em 1994 por Rasmus Lerdorf como um conjunto de scripts CGI para rastrear visitas a seu currículo online. Desde então, evoluiu para uma poderosa linguagem de programação usada para desenvolver aplicações web dinâmicas e é uma das linguagens mais populares para esse fim.
O documento fornece um resumo histórico da linguagem PHP, desde sua criação em 1995 até a versão mais recente. Explica as principais estruturas de controle e funcionalidades da linguagem, e faz uma comparação com ASP, JSP e ColdFusion, destacando vantagens e desvantagens de cada uma.
O documento discute a linguagem de programação Python. Resume os principais pontos como: (1) Python começou em 1991 e é uma linguagem de alto nível, multi-paradigma e multiplataforma; (2) Python preza pela legibilidade do código e usa tipagem dinâmica e forte; (3) Python tem uma biblioteca padrão extensa e suporte a programação funcional, orientada a objetos, concorrente e web.
Facebook's Hack programming language / Linguagem de programação Hack do FacebookRafael Alves
- O documento discute a motivação e características da linguagem de programação Hack, desenvolvida pelo Facebook como uma extensão estática e tipada de PHP. Hack oferece checagem de tipos instantânea, interoperabilidade com PHP, e novas funcionalidades como generics, coleções e lambdas.
O documento fornece uma introdução ao PHP, incluindo sua história, características, sintaxe básica e funções. É destacado que o PHP é uma linguagem de script do lado do servidor usada para desenvolvimento de sites dinâmicos e que complementa o JavaScript.
O documento fornece um resumo sobre a linguagem de programação PHP, descrevendo sua origem em 1994 como ferramenta para páginas pessoais, seu status atual como uma das linguagens mais populares para desenvolvimento web e alguns de seus recursos e características principais como tipos de dados, comandos condicionais e iterativos.
Como contribuir-com-open-source-php conference-2016Marcos Paulo
O documento discute várias maneiras de contribuir com o PHP, incluindo documentação PHPDoc, testes de framework, relatórios de bugs, código-fonte interno PHP e PHPUnit. Ele também explica brevemente como o código-fonte PHP é estruturado.
O documento fornece uma introdução ao PHP, incluindo:
1) O que é PHP e como funciona;
2) Características e história do PHP;
3) Como fazer o download e instalação do PHP e Apache.
O documento discute a linguagem PHP para desenvolvimento web, incluindo sua história, como funciona com servidores, características como tags, operadores, estruturas de controle, tipos, funções, variáveis, orientação a objetos, suporte a bancos de dados e porque é uma linguagem útil para desenvolvimento web.
O documento descreve as principais características da linguagem PHP. PHP é uma linguagem de script usada para desenvolvimento de sites dinâmicos e permite a manipulação de bancos de dados. Algumas características importantes do PHP incluem ser gratuita, multiplataforma, compatível com vários bancos de dados e protocolos, e permitir funções como coletar dados de formulários e gerar páginas dinamicamente.
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
O documento discute a história do PHP e as razões para usar o framework Laravel. Apresenta o histórico do PHP, as experiências do autor com frameworks PHP, e explica como o Laravel oferece boas práticas de programação, produtividade e suporte da comunidade.
Este documento fornece informações sobre uma licença Creative Commons que permite o uso não comercial e compartilhamento da obra desde que mantenha a mesma licença. Também apresenta detalhes sobre o livro "Python para desenvolvedores" de Luiz Eduardo Borges.
Painel: HHVM x Zephir x PHPNG - com Anderson Casimiro, Levi Ferreira e Luiz Gustavo Gavinho no InterCon PHP 2014.
Confira outras apresentações em: http://interconphp.imasters.com.br/
O InterCon PHP aconteceu no dia 19 de Julho de 2014 no Hotel Intercontinental São Paulo
1) O documento descreve a história e funcionalidade da linguagem PHP, desde a sua criação em 1995 até à versão atual.
2) A PHP permite o desenvolvimento de aplicações web dinâmicas utilizando uma arquitetura de três camadas (apresentação, lógica e dados).
3) A sintaxe da PHP é processada no servidor e gera páginas HTML para o cliente.
Palestra apresentada no 12º Encontro de Programadores C e C++, realizado no Rio de Janeiro no dia 15 de Agosto de 2015.
Vídeo da apresentação em https://youtu.be/JjANXR-diTM?t=18382
Lisp é uma linguagem de programação funcional criada em 1956 por John McCarthy para processamento de listas e aplicações de inteligência artificial. Lisp tem como características principais tipos de dados como átomos e listas, funções de ordem superior, diversos dialetos e implementações, e avaliação independente da ordem das expressões.
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
Apresentação criada em 2017.2 para as aulas de Lógica de Programação e Algoritmos; e Programação de Computadores.
Apresenta os principais conceitos da linguagem de programação C.
O documento apresenta a história e características da interface de desenvolvimento Delphi. Detalha suas principais versões desde 1995 e fala sobre seu criador, Anders Hejlsberg. Também explica conceitos como programação orientada a objetos, programação orientada a eventos e compilação.
O documento discute as principais novidades do C# 7, incluindo construtores primários, expressões de corpo em membros de função, await dentro de expressões catch e finally, propagação do operador null, static using, filtro de exceção, expressão nameof e interpolação de strings. Ele também fornece referências para obter mais detalhes sobre essas funcionalidades.
O documento apresenta uma introdução ao PHP, descrevendo sua história, propósito e ambientes de programação. A linguagem PHP permite a criação de páginas web dinâmicas e é compatível com diversos sistemas operacionais e bancos de dados. O documento também explica conceitos básicos de HTML e como a linguagem de scripting do PHP funciona.
1. A aula introduz o PHP, abordando sua história, características e estrutura básica.
2. Variáveis, constantes, tipos de dados e operadores são explicados. Exemplos ilustram o uso de variáveis, operações matemáticas e lógicas.
3. O documento fornece os conceitos fundamentais da linguagem PHP para iniciantes.
O documento apresenta uma aula introdutória sobre PHP. Aborda os objetivos da aula, a introdução à linguagem PHP, sua estrutura e sintaxe, variáveis, constantes e operadores.
O PHP foi criado em 1994 por Rasmus Lerdorf como um conjunto de scripts CGI para rastrear visitas a seu currículo online. Desde então, evoluiu para uma poderosa linguagem de programação usada para desenvolver aplicações web dinâmicas e é uma das linguagens mais populares para esse fim.
O documento fornece um resumo histórico da linguagem PHP, desde sua criação em 1995 até a versão mais recente. Explica as principais estruturas de controle e funcionalidades da linguagem, e faz uma comparação com ASP, JSP e ColdFusion, destacando vantagens e desvantagens de cada uma.
O documento discute a linguagem de programação Python. Resume os principais pontos como: (1) Python começou em 1991 e é uma linguagem de alto nível, multi-paradigma e multiplataforma; (2) Python preza pela legibilidade do código e usa tipagem dinâmica e forte; (3) Python tem uma biblioteca padrão extensa e suporte a programação funcional, orientada a objetos, concorrente e web.
Facebook's Hack programming language / Linguagem de programação Hack do FacebookRafael Alves
- O documento discute a motivação e características da linguagem de programação Hack, desenvolvida pelo Facebook como uma extensão estática e tipada de PHP. Hack oferece checagem de tipos instantânea, interoperabilidade com PHP, e novas funcionalidades como generics, coleções e lambdas.
O documento fornece uma introdução ao PHP, incluindo sua história, características, sintaxe básica e funções. É destacado que o PHP é uma linguagem de script do lado do servidor usada para desenvolvimento de sites dinâmicos e que complementa o JavaScript.
O documento fornece um resumo sobre a linguagem de programação PHP, descrevendo sua origem em 1994 como ferramenta para páginas pessoais, seu status atual como uma das linguagens mais populares para desenvolvimento web e alguns de seus recursos e características principais como tipos de dados, comandos condicionais e iterativos.
Como contribuir-com-open-source-php conference-2016Marcos Paulo
O documento discute várias maneiras de contribuir com o PHP, incluindo documentação PHPDoc, testes de framework, relatórios de bugs, código-fonte interno PHP e PHPUnit. Ele também explica brevemente como o código-fonte PHP é estruturado.
O documento fornece uma introdução ao PHP, incluindo:
1) O que é PHP e como funciona;
2) Características e história do PHP;
3) Como fazer o download e instalação do PHP e Apache.
O documento discute a linguagem PHP para desenvolvimento web, incluindo sua história, como funciona com servidores, características como tags, operadores, estruturas de controle, tipos, funções, variáveis, orientação a objetos, suporte a bancos de dados e porque é uma linguagem útil para desenvolvimento web.
O documento descreve as principais características da linguagem PHP. PHP é uma linguagem de script usada para desenvolvimento de sites dinâmicos e permite a manipulação de bancos de dados. Algumas características importantes do PHP incluem ser gratuita, multiplataforma, compatível com vários bancos de dados e protocolos, e permitir funções como coletar dados de formulários e gerar páginas dinamicamente.
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
O documento discute a história do PHP e as razões para usar o framework Laravel. Apresenta o histórico do PHP, as experiências do autor com frameworks PHP, e explica como o Laravel oferece boas práticas de programação, produtividade e suporte da comunidade.
Este documento fornece informações sobre uma licença Creative Commons que permite o uso não comercial e compartilhamento da obra desde que mantenha a mesma licença. Também apresenta detalhes sobre o livro "Python para desenvolvedores" de Luiz Eduardo Borges.
Painel: HHVM x Zephir x PHPNG - com Anderson Casimiro, Levi Ferreira e Luiz Gustavo Gavinho no InterCon PHP 2014.
Confira outras apresentações em: http://interconphp.imasters.com.br/
O InterCon PHP aconteceu no dia 19 de Julho de 2014 no Hotel Intercontinental São Paulo
1) O documento descreve a história e funcionalidade da linguagem PHP, desde a sua criação em 1995 até à versão atual.
2) A PHP permite o desenvolvimento de aplicações web dinâmicas utilizando uma arquitetura de três camadas (apresentação, lógica e dados).
3) A sintaxe da PHP é processada no servidor e gera páginas HTML para o cliente.
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
Oficina de PHP realizada no Instituto Federal de Goiás Campus de Luziânia no evento Software Freedom Day.
----------------------------------------------------------------
PHP Workshop held at the Federal Institute of Goiás Campus Luziania in Software Freedom Day event.
O documento discute os conceitos de compiladores, interpretadores e linkagem no contexto da programação. Explica que compiladores transformam programas de alto nível em código de máquina, enquanto interpretadores fazem isso linha a linha. A linkagem une código objeto e bibliotecas para criar programas executáveis.
O documento discute a linguagem de programação PHP, incluindo sua história, características e sintaxe básica. PHP foi criada em 1994 por Rasmus Lerdorf para facilitar a publicação de informações em seu site pessoal e se tornou popular entre comunidades de código aberto. É uma linguagem interpretada, multiplataforma e gratuita que permite a criação de aplicações web dinâmicas executadas no servidor.
Palestra apresentada no CEPA em Anápolis-GO por mim e o Almir Neto, mostrando a cena tecnológica em que o PHP encontra-se, e o que podemos esperar para o futuro.
[Ruby Summit Brasil 2020] Ruby 3 e Análise estática - O que esperar e o que s...Weverton Timoteo
Talk apresentada no evento gratuito Ruby Summit Brasil 2020 organizado pela comunidade e para comunidade.
Falei um pouco sobre as principais novidades no Ruby 3 (Ractor, Scheduler, RBS, Type profiler) e o poder dos linters nesse momento.
[Devs Cansados Evento 2020] Queria saber a qualidade do meu código: o que olho?Weverton Timoteo
Talk apresentada no evento Devs Cansados (https://evento2020.devscansados.com.br/) no dia 12/11/20.
Nessa talk falo um pouco o que é qualidade de código, métricas interessante para sua base de código.
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com ElixirWeverton Timoteo
O documento discute a construção e distribuição de CLIs (interfaces de linha de comando) com Elixir, incluindo o uso de OptionParser para parsing de argumentos, Escript para scripts em Erlang, Rebar3 e Mix para compilação, e Bakeware para empacotamento em um único binário autocontido. Ele também aborda convenções de mensagens de commit em programação em par e distribuição do binário resultante.
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoWeverton Timoteo
Talk apresentada no evento gratuito TDC Online Recife 2020 na sala Locaweb <pro>.
Falei um pouco sobre as principais novidades no Ruby 3 (Ractor, Scheduler, RBS, Type profiler).
[Gophercon 2019] Analysing code quality with linters and static analysisWeverton Timoteo
How do you define a "good code"? How to write high-quality software with assistance of linters and static analysis.
Using golint, govet and gofmt can improve our code.
Elixir Brasil 2019 - Quality: A Panacéia para seu código ElixirWeverton Timoteo
A talk explaining how to define `good code`. Using `Code Complete` as a reference to guide over the quality definition and introducing Linters (Credo) and Dialyzer (Dialyxir)
A talk explaining how to define `good code`. Using `Code Complete` as a reference to guide over the quality definition and introducing Linters (each category) for Golang.
Talk apresentada no 21o RubyFloripa contando como foi a experiência em assumir uma app legada Rails e introduzir Elixir. Utilizando tecnologias como GenStage, AWS SQS e SNS.
A Coding Dojo is a meeting where coders get together to work on programming challenges for fun and to improve their coding skills through deliberate practice. Coders participate in dojos to engage in pair programming, solve problems together, get feedback on their work, and help each other become better at coding. Dojos follow a format of briefs, coding, and reflection to help coders enhance their abilities.
Talk no primeiro meetup Garopaba/Imbituba developers:
https://www.meetup.com/Garopaba-Imbituba-Dev/events/240082447/
Nessa talk explico os conceitos de projeção e porquê elas são necessárias.
This document discusses managing front-end dependencies in Rails. It covers the Rails asset pipeline, pre-processors, where to store assets, expiring caches, how to use manifest files, alternatives like Rails-Assets.org and maintainers, using Rails assets, front-end dependencies, hiring, and references.
O documento discute as opções de servidores de aplicação e web para aplicações Ruby on Rails. Ele explica como servidores como Unicorn, Puma e Phusion Passenger funcionam e quais frameworks eles suportam. O documento também fornece dicas sobre como configurar corretamente o número de workers para obter o melhor desempenho.
O documento discute o Chef, uma ferramenta de provisionamento que automatiza a configuração de infraestrutura. Ele explica os conceitos-chave do Chef como provisionamento, nodes, run-lists, roles e cookbooks e descreve como criar e testar cookbooks e adicionar nodes ao Chef server.
Como definir a quantidade de workers para sua aplicaçãoWeverton Timoteo
O documento discute diferentes opções de servidores de aplicação para Ruby on Rails, incluindo Unicorn, Puma e Passenger. Explica os modelos de I/O bloqueante, multithreading e event-driven, e como cada servidor se encaixa nesses modelos. Também fornece recomendações sobre como escolher e configurar um servidor de aplicação para diferentes tipos de aplicações.
Swift language - A fast overview of some featuresWeverton Timoteo
This document provides an overview of some key technical features of the Swift programming language, including memory management using Automatic Reference Counting (ARC), static typing, support for optionals and named parameters, and similarities and extensions to Objective-C. It also covers Swift-specific features like immutable arrays, function currying, protocols, auto closures, and enumerators.
Vim has several types of registers that store information like deleted or yanked text. The main registers include the unnamed register "" that stores most deleted, changed or yanked text; numbered registers "0-9" that store deletion history; and named registers "a-z" that allow copying or appending text. Other read-only registers store command histories, file names, and the last search pattern. Registers can be listed with :reg and their contents accessed via paste commands to replicate deleted or copied text throughout a Vim editing session.
This presentation shows how to develop an universal iOS app or "convert" a existing one into universal. An universal app must work in iPad/iPod and iPhone.
2. O que é FFI?
FFI (Foreign Function Interface) é um mecanismo
pela qual, um programa escrito em determinada
linguagem, pode realizar chamadas, funções e
comunicar-se outros programas e serviços de
linguagens distintas.
http://www.c2.com/cgi/wiki?ForeignFunctionInterface
4. RubyInline
Automaticamente determina se o código em questão
mudou e só roda build quando necessário.
As extensões são automaticamente carregadas na
classe/módulo que a definiu.
Por padrão suporta apenas C/C++
https://github.com/seattlerb/rubyinline
9. RubyFFI
"FFI is a fantastic tool for easily interfacing your Ruby
code with native libraries.
Using FFI, you can use native libraries from Ruby
without writing a single line of native code."
https://github.com/ffi/ffi/wiki/Core-Concepts
11. Vantagens de utilizar FFI
• Não, necessariamente, escrever código da linguagem
que está integrando
• Mesmo código em qualquer interpretador Ruby (MRI,
JRuby, Rubinius)
• Melhor para outros membros do time, principalmente
se tratando de uma gem
• Instalar apenas libs de runtime
• Não quebra por mudanças na API interna do Ruby
12. Componentes do Ruby FFI
FFI::Library - utilizada ao chamar `require 'ffi'`
FFI::Pointer - segura memória alocada pela
biblioteca terceira.
FFI::MemoryPointer - permite o Ruby alocar
memória nativa e passá-la para bibliotecas não-
Ruby. Também controla ciclo de vida de objetos em
memória
FFI::Struct e FFI::Union
13. Gerenciamento de Memória
• Biblioteca/Linguagem utilizada
• Interpretador Ruby utilizado
• Dois tipos de pilha de memória: Ruby e nativa.
Pilha de memória Ruby é gerenciado pelo GC do
interpretador.
14. Tipos
• :char and :uchar - 8 bit signed and unsigned values
• :short and :ushort - 16 bit signed and unsigned values
• :int and :uint - 32 bit signed and unsigned values
• :long_long and :ulong_long - 64 bit signed and unsigned values
• :long and :ulong - native cpu word (32 bit or 64bit) signed and unsigned values.
Equivalent to C 'long' type.
• :float and :double
• :string - C string, NULL terminated.
• :pointer - a C pointer
https://github.com/ffi/ffi/wiki/Types