Sigo estando en desacuerdo contigo, Javier.

R es, claramente, un lenguaje de Programación Orientado a Objetos (POO, OOP, o 
como quieras llamarlo). Maneja clases (con sus propiedades, métodos, 
propiedades, estados, ...), herencia, polimorfismo, ....

Otra cosa es que quieras usar R de otra manera (programación estructurada, 
modular, funcional, ...)

Un saludo,
Miguel.


El 15/03/2017 a las 16:32, 
javier.ruben.marcu...@gmail.com<mailto:javier.ruben.marcu...@gmail.com> 
escribió:
Estimados

Yo me refería a esto:

https://stat.ethz.ch/R-manual/R-devel/library/base/html/class.html

Interpreto que la traducción dice algo como que es una función con un mecanismo 
simple y genérico que puede ser utilizado como un estilo de programación 
orientada a objetos.

Sin entrar en partes muy técnicas.

En un lenguaje orientado a objetos como c#, creo una clase con atributos, luego 
puedo crear una lista para estos, algo como List<autos> lista_de_autos.

Otra forma sería algo como List<T>, donde no coloco el objeto creado por la 
clase autos. T se daría cuenta.

R interpreto que tiene un mecanismo semejante a este último. Si realizo 
str(algo), por decirlo de alguna forma me trae los atributos de un objeto ya 
definido, pero altura <- 1.85 sería una variable, que R permite ser llamada 
como un objeto.

R tiene partes en C/C++ que tiene objetos, pero en Fortran no se utilizan 
objetos, yo nunca tuve que iniciar una instancia de una matriz en Fortran, en R 
tampoco tuve que iniciar una instancia de una matriz, ni colocar partes pública 
o privadas, hay partes distintas en los lenguajes, o herencia entre dos 
data.frame.

Comparo nuevamente con C#
Var altura = 1,85 es una variable.
Persona.altura = 1,85 es un valor dentro del objeto

En R altura <- 1,85 puede trabajarse como variable u objeto (porque tiene una 
función simple y genérica que puede ser utilizada como programación orientada a 
objetos, entiendo que por library/base/class).

Por eso escribí que no es orientado a objetos pero que hay formas de trabajarlo 
como objetos. Luego hay diferencias como función y método,  pero el efecto es 
lo mismo, las diferencias no nos complica la vida, salvo si por lo que yo 
nombre como cajas se confunda con crear clases para definir objetos, en R no 
necesitamos definir una clase para llenar un data.frame. Sin embargo permite 
crear objetos y ser trabajado como OOP, en R se pueden usar varias alternativas.
https://www.r-bloggers.com/oo-in-r/

R permite más de un estilo de programación.

Javier Rubén Marcuzzi

De: Carlos J. Gil Bellosta <mailto:c...@datanalytics.com>
Enviado: miércoles, 15 de marzo de 2017 11:14
Para: miguel angel rodriguez 
muinos<mailto:miguel.angel.rodriguez.mui...@sergas.es>
CC: Javier Marcuzzi<mailto:javier.ruben.marcu...@gmail.com>; Mauricio 
Monsalvo<mailto:m.monsa...@gmail.com>; r-help-es<mailto:r-help-es@r-project.org>
Asunto: Re: [R-es] R <- POO

De hecho, dos de los principios de diseño de R son:

1) Todo lo que existe es un objeto.
2) Todo lo que sucede es una llamada a una función.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El 15 de marzo de 2017, 14:22, 
<miguel.angel.rodriguez.mui...@sergas.es<mailto:miguel.angel.rodriguez.mui...@sergas.es>>
 escribió:
Disiento, Javier.

R sí es un lenguaje orientado a objetos.

:-)


Un saludo,
Miguel.



El 15/03/2017 a las 13:43, 
javier.ruben.marcu...@gmail.com<mailto:javier.ruben.marcu...@gmail.com><mailto:javier.ruben.marcu...@gmail.com<mailto:javier.ruben.marcu...@gmail.com>>
 escribió:

R es un lenguaje medio complicado, no es orientado a objetos, aunque hay formas 
para un trabajo con objetos, por otro lado se puede definir una función o 
emplear 5 paquetes para lo mismo en dos líneas de código.



________________________________

Nota: A información contida nesta mensaxe e os seus posibles documentos 
adxuntos é privada e confidencial e está dirixida únicamente ó seu 
destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por 
favor elimínea. A distribución ou copia desta mensaxe non está autorizada.

Nota: La información contenida en este mensaje y sus posibles documentos 
adjuntos es privada y confidencial y está dirigida únicamente a su 
destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, 
por favor elimínelo. La distribución o copia de este mensaje no está autorizada.

See more languages: http://www.sergas.es/aviso-confidencialidad

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a